from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
QMetaObject, QObject, QPoint, QRect,QItemSelectionModel,
QSize, QTime, QUrl, Qt)
from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
QFont, QFontDatabase, QGradient, QIcon,
QImage, QKeySequence, QLinearGradient, QPainter,QStandardItemModel,QStandardItem,
QPalette, QPixmap, QRadialGradient, QTransform)
from PySide6.QtWidgets import (QApplication, QHeaderView, QMainWindow, QMenuBar,
QPushButton, QSizePolicy, QStatusBar, QTableWidget,QTableView,
QTableWidgetItem, QWidget)
from PySide6.QtSql import QSqlQueryModel,QSqlDatabase,QSqlQuery
from PySide6.QtWidgets import QTableView,QApplication
import sys
import sys
from ui_QtableWidget import Ui_MainWindow
class MyMainWindow(QMainWindow,Ui_MainWindow):
def __init__(self, parent = None):
super(MyMainWindow,self).__init__(parent)
self.setupUi(self)
file_content_list = [['aaa', 'bbb'], ['ccc', 'ddd', 'eee', 'fff', 'ggg'], ['23', 'can0', '45', '0', '0'], ['25', 'can1', '89', '3', '4']]
self.model=QStandardItemModel()
self.tableView.setModel(self.model)
for row_num, sublist in enumerate(file_content_list):
for col_num, item in enumerate(sublist):
self.model.setItem(row_num, col_num, QStandardItem(item))
if __name__=="__main__":
app=QApplication(sys.argv)
myWin=MyMainWindow()
myWin.show()
sys.exit(app.exec())
# 读取SQLlite
db = QSqlDatabase.addDatabase("QSQLITE")
db.setDatabaseName("patientData.db")
db.open()
self.model = QSqlQueryModel()
self.model.setQuery("select * from user",db)
self.tableView.setModel(self.model)
# self.selectModel=QItemSelectionModel()
# self.tableView.setSelectionModel(self.selectModel)
# self.model.setHorizontalHeaderLabels(['标题1','标题2','标题3','标题4',])
# for i in range(4):
# item=QStandardItem(f'行{i+1}')
# self.model.setVerticalHeaderItem(i,item)
pyside6使用tableview展示数据
于 2023-03-28 21:05:07 首次发布
该代码示例展示了如何利用PySide6库创建一个Qt主窗口应用,初始化QStandardItemModel和QTableView来展示数据。数据首先是从预定义的二维列表加载,然后程序连接到SQLite数据库,查询user表中的所有数据并显示在表格视图中。
1163

被折叠的 条评论
为什么被折叠?



