当前位置: 首页 > news >正文

多语言网站如何做购买域名的网站

多语言网站如何做,购买域名的网站,电子商务公司经营范围有哪些,网站建设和管理QTableView 是QT的一个强大的表视图部件,可以与模型结合使用以显示和编辑数据。QSqlQueryModel、QSqlTableModel 都是用于与 SQL 数据库交互的模型,将二者与QTableView结合使用可以轻松地展示和编辑数据库的数据。 QSqlQueryModel的简单应用 import sys from PySid…

        QTableView 是QT的一个强大的表视图部件,可以与模型结合使用以显示和编辑数据。QSqlQueryModel、QSqlTableModel 都是用于与 SQL 数据库交互的模型,将二者与QTableView结合使用可以轻松地展示和编辑数据库的数据。


QSqlQueryModel的简单应用

import sys
from PySide6.QtWidgets import QApplication, QMainWindow, QTableView
from PySide6.QtSql import QSqlDatabase, QSqlQueryModel# 创建应用程序实例
app = QApplication(sys.argv)# 连接到SQLite数据库
# 假设脚本同目录下的数据库文件名为example.db,表名为example_table
db = QSqlDatabase.addDatabase('QSQLITE')   # 指定使用的数据库驱动为SQLite
db.setDatabaseName('example.db')  # 设置数据库文件路径
if not db.open():  # 如果数据库打开失败,打印错误信息print("无法连接到数据库")sys.exit(1)# 创建数据模型
model = QSqlQueryModel()
model.setQuery("SELECT * FROM users")  # 执行SQL查询# 创建主窗口
window = QMainWindow()
window.setWindowTitle("SQLite数据展示")# 创建表格视图,并设置模型
table_view = QTableView()
table_view.setModel(model)  # 将查询模型设置给表格视图
window.setCentralWidget(table_view)  # 将表格视图设置为主窗口的中心部件# 显示窗口
window.show()# 运行应用程序循环
sys.exit(app.exec())

         上面的这个代码是查询数据库并将结果用表格方式展示的基本应用,在这个代码中,使用了QSqlQueryModel模型,表格的数据只是用于展示,并不能在表格中对数据进行编辑和修改。


QSqlTableModel的简单应用

import sys
from PySide6.QtWidgets import QApplication, QMainWindow, QTableView
from PySide6.QtSql import QSqlDatabase, QSqlTableModel
from PySide6.QtCore import Qt# 创建应用程序实例
app = QApplication(sys.argv)# 设置数据库
db = QSqlDatabase.addDatabase("QSQLITE")   # 设置数据库类型
db.setDatabaseName("project_db.db")        # 设置数据库名称
if not db.open():print("无法打开数据库")sys.exit(1)# 创建模型
model = QSqlTableModel()   # 创建模型
model.setTable("users")    # 设置模型与数据表关联# 设置模型的编辑策略(可选)
model.setEditStrategy(QSqlTableModel.OnFieldChange)  # 数据更改后立即写入数据库# 选择表中的所有记录
model.select()             # 创建主窗口
window = QMainWindow()
window.setWindowTitle("SQLite数据展示")# 创建表格视图,并设置模型
table_view = QTableView()
table_view.setModel(model)  # 将查询模型设置给表格视图
window.setCentralWidget(table_view)  # 将表格视图设置为主窗口的中心部件# 可选:设置列标题
# model.setHeaderData(0, Qt.Horizontal, "ID")
# model.setHeaderData(1, Qt.Horizontal, "name")
# model.setHeaderData(2, Qt.Horizontal, "passwd")# 显示窗口
window.show()# 运行应用程序循环
sys.exit(app.exec())

        这段代码使用了QSqlTableModel类来创建一个数据库模型。QSqlTableModel是一个高层次的接口,用于处理单个数据库表,并且可以与视图(如QTableView)一起使用来显示和编辑表中的数据。当我们在界面显示的表格中将管理员密码修改为“123”,数据库中的内容同步得到了更新。 


QSqlQueryModel与QSqlTableModel的区别

• 功能定位

• QSqlQueryModel  :

        • 功能:用于执行 SQL 查询语句,并将查询结果以模型的形式展示。

        • 特点:它是一个只读模型,主要用于显示查询结果。如果需要修改数据,必须手动执行 SQL 更新语句。

        • 适用场景:适合用于执行复杂的 SQL 查询,并将结果展示在视图中(如   QTableView   或   QListView  )。例如,联合查询、分组查询等场景。

• QSqlTableModel  :

        • 功能:提供了一个可编辑的模型,用于操作数据库表中的数据。

        • 特点:支持对表数据的增、删、改、查操作,可以直接通过模型接口修改数据,而无需手动编写 SQL 语句。

        • 适用场景:适合用于直接操作单个数据库表的场景,尤其是需要对表数据进行编辑的应用。

•数据操作方式

•  QSqlQueryModel  :

        • 查询:通过执行 SQL 查询语句获取数据。

        • 修改:不支持直接通过模型修改数据。如果需要修改数据,必须手动执行 SQL 更新语句。

• QSqlTableModel  :

        • 查询:自动加载整个表的数据,也可以通过设置过滤条件来限制显示的数据。

        • 修改:支持通过模型接口直接修改数据,例如插入、删除、更新行。

灵活性与易用性

• QSqlQueryModel  :

        • 优点:灵活性高,可以执行任意复杂的 SQL 查询语句。

        • 缺点:不支持直接修改数据,需要手动编写 SQL 更新语句。

• QSqlTableModel  :

        • 优点:操作简单,支持直接通过模型接口修改数据,适合对单个表的操作。

        • 缺点:只能操作单个表,不支持复杂的 SQL 查询(如联合查询)。

 • 性能

• QSqlQueryModel  :

        • 性能:查询结果直接从 SQL 查询语句生成,性能较高,尤其是对于复杂的查询。

• QSqlTableModel  :

        • 性能:加载整个表的数据,可能会在数据量较大时影响性能。但如果设置了过滤条件,可以限制加载的数据量。

适用场景总结

• QSqlQueryModel  :

        • 适用于需要执行复杂查询(如联合查询、分组查询)的场景。

        • 适用于只读数据展示的场景。

• QSqlTableModel  :

        • 适用于对单个表进行增、删、改、查操作的场景。

        • 适用于需要简单数据操作且对性能要求不高的场景。


QSqlQueryModel的另一个范例

这个范例中设置了筛选条件,只显示符合条件的部分数据

from PySide6.QtSql import QSqlQueryModel, QSqlDatabase
from PySide6.QtWidgets import QApplication, QTableView# 定义create_connection函数,用于创建数据库连接
def create_connection():# 添加一个SQLite数据库驱动db = QSqlDatabase.addDatabase('QSQLITE')# 设置数据库名称为example.dbdb.setDatabaseName('example.db')# 尝试打开数据库连接if not db.open():# 如果打开失败,打印错误信息并返回Falseprint("Unable to open database")return False# 如果打开成功,返回Truereturn Truedef main(): app = QApplication([])# 调用create_connection函数,如果返回False则终止程序if not create_connection():return# 创建一个QSqlQueryModel实例,用于执行SQL查询并将结果存储在模型中model = QSqlQueryModel()# 设置模型的查询语句,这里选择年龄大于30的员工记录model.setQuery("SELECT * FROM employees WHERE age > 30")# 创建一个QTableView实例,用于显示模型中的数据view = QTableView()# 将模型设置到视图中view.setModel(model)# 显示视图view.show()# 进入Qt应用程序的事件循环app.exec()# 如果当前脚本是直接运行的,则调用main函数
if __name__ == "__main__":main()

QSqlTableModel的另一个范例

这个范例中同样设置了筛选条件,只显示符合条件的部分数据

from PySide6.QtSql import QSqlTableModel, QSqlDatabase
from PySide6.QtWidgets import QApplication, QTableView# 定义一个函数用于创建数据库连接
def create_connection():# 添加一个SQLite数据库驱动db = QSqlDatabase.addDatabase('QSQLITE')# 设置数据库文件的名称db.setDatabaseName('example.db')# 尝试打开数据库连接if not db.open():# 如果打开失败,打印错误信息并返回Falseprint("Unable to open database")return False# 如果打开成功,返回Truereturn True# 主函数
def main():app = QApplication([])# 调用函数创建数据库连接,如果失败则退出程序if not create_connection():return# 创建一个QSqlTableModel实例,用于操作数据库中的数据model = QSqlTableModel()# 设置操作的表名为"employees"model.setTable("employees")# 设置过滤条件,只显示年龄大于30的记录model.setFilter("age > 30")# 执行查询操作model.select()# 创建一个QTableView实例,用于显示数据view = QTableView()# 将数据模型设置到视图上view.setModel(model)# 显示视图view.show()# 进入Qt应用程序的事件循环app.exec_()# 如果当前脚本是主程序,则执行main函数
if __name__ == "__main__":main()

QSqlQueryModel与QSqlQuery的区别

        在 QT中,还有一个类 QSqlQuery ,它与QSqlQueryMode在功能和用途上有一定的区别和联系。

QSqlQuery

  QSqlQuery 是一个用于执行 SQL 语句的类。它可以用来执行各种 SQL 操作,如 SELECT、INSERT、UPDATE 和 DELETE 等。

  QSqlQuery 对象通常与一个具体的数据库连接相关联,并且可以执行单条 SQL 语句或存储过程。

以下是 QSqlQuery 的一些主要功能:

  1. 执行 SQL 语句:可以执行任意的 SQL 语句,包括查询和修改数据。
  2. 游标操作:支持向前和向后移动游标,以便处理查询结果。
  3. 绑定值:可以使用绑定值来防止 SQL 注入,并提高性能。
  4. 存储过程:可以执行存储过程。

示例代码:

from PySide6.QtSql import QSqlDatabase, QSqlQuerydb = QSqlDatabase.addDatabase('QSQLITE')   # 添加SQLite 数据库驱动
db.setDatabaseName('example.db')     # 设置数据库名称
db.open()    # 打开数据库query = QSqlQuery(db)   # 创建一个数据库查询对象   
query.exec_('SELECT * FROM table_name')   # 执行SQL查询语句
while query.next():print(query.value(0))

二者的关系

  QSqlQueryModel 内部使用 QSqlQuery 来执行 SQL 查询并获取数据。当为 QSqlQueryModel设置一个查询时,它会使用 QSqlQuery 来执行该查询,并将结果存储在模型中,以便视图可以显示这些数据。

        总结一下,QSqlQuery 是用于执行 SQL 语句的低级接口,而 QSqlQueryModel 是一个更高层次的抽象,它利用 QSqlQuery 来提供与数据库数据的集成,并与 Qt 的模型/视图架构无缝集成。

http://www.wangmingla.cn/news/130396.html

相关文章:

  • 淘宝购物券网站怎么做seo免费外链工具
  • 网站开发与应用汕头疫情最新消息
  • 三五互联网站报价表安卓手机性能优化软件
  • 做网站客服公司网站免费建站
  • 网站建设的关键优化大师破解版app
  • 如何做自己网站山东济南seo整站优化公司
  • 需要建设一个什么样的网站百度优化师
  • 电商网站建设文献泰安网站优化公司
  • 网站的缩略图微信营销软件免费版
  • 龙溪网站制作西安搜建站科技网站
  • 旅游酒店网站建设网站关键字排名优化
  • 网站设计网页主页介绍app开发软件
  • 西安有关做网站的公司各大搜索引擎提交入口
  • web视频网站开发项目代码方象科技的企业愿景
  • 小程序做视频网站谷歌推广怎么操作
  • 做网站前期构架图贵阳做网络推广的公司
  • 精品网站免费全国疫情排行榜
  • 花卉网站建设推广windows优化大师可以卸载吗
  • 网站建设域名什么意思网站设计的流程
  • 网站推广智选刺盾云下拉武汉网站建设
  • 朔州网站建设网络营销概念是什么
  • 个人网站引导页源码网站关键词推广优化
  • 做网站的合同企业seo服务
  • 遵义市政府网站建设概况360推广登录
  • 松江工业区网站建设神马网站快速排名软件
  • 做微商去哪些社交网站google搜索关键词热度
  • 响应式网站 有哪些弊端指数基金怎么买才赚钱
  • 石家庄便宜网站制作百度新闻首页新闻全文
  • 内网 群晖 wordpress西安排名seo公司
  • 做理财的网站有哪些问题seo查询优化