使用扩展表格控件 QTableWidgit控件 的案例
由QTableView继承而来
每一个cell(单元格)是一个QTableWidgetItem
import sys
from PyQt5 import QtPrintSupport, QtGui
from PyQt5.QtCore import Qt, QMimeData, QDate, QDateTime, QTime, QStringListModel
from PyQt5.QtGui import QIcon, QPainter, QBrush, QPixmap, QStandardItemModel, QStandardItem
from PyQt5.QtPrintSupport import QPageSetupDialog, QPrinter, QPrintDialog
from PyQt5.QtWidgets import QApplication, QWidget, QComboBox, QFormLayout, QLabel, QLineEdit, QPushButton, QGridLayout, \
QCalendarWidget, QVBoxLayout, QDateTimeEdit, QAction, QMainWindow, QTextEdit, QStatusBar, QFileDialog, QDialog, \
QTableView, QMessageBox, QListView, QListWidget, QHBoxLayout, QTableWidget, QTableWidgetItem, QAbstractItemView
'''
使用扩展表格控件 QTableWidgit控件 的案例
由QTableView继承而来
每一个cell(单元格)是一个QTableWidgetItem
'''
class tableWidgetDemo(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 设置定位和左上角坐标
self.setGeometry(300, 300, 460, 360)
# 设置窗口标题
self.setWindowTitle('QTableWidget扩展表格视图控件 的演示')
# 设置窗口图标
# self.setWindowIcon(QIcon('../web.ico'))
layout = QHBoxLayout()
tablewidget = QTableWidget()
tablewidget.setRowCount(4)
tablewidget.setColumnCount(3)
layout.addWidget(tablewidget)
tablewidget.setHorizontalHeaderLabels(['姓名','年龄','籍贯'])
nameItem = QTableWidgetItem('小明')
tablewidget.setItem(0,0,nameItem)
ageItem = QTableWidgetItem('24')
tablewidget.setItem(0,1,ageItem)
jgItem = QTableWidgetItem('天津武清')
tablewidget.setItem(0,2,jgItem)
# 禁止编辑
tablewidget.setEditTriggers(QAbstractItemView.NoEditTriggers)
# 整行选择
tablewidget.setSelectionBehavior(QAbstractItemView.SelectRows)
# 根据内容自动调整列合行
tablewidget.resizeColumnsToContents()
tablewidget.resizeRowsToContents()
# 自定义表头和第一列,隐藏显示和
# tablewidget.horizontalHeader().setVisible(False)
# tablewidget.verticalHeader().setVisible(False)
# 自定义第一列内容
# tablewidget.setVerticalHeaderLabels(["a","b","c"])
# 隐藏表格线
# tablewidget.setShowGrid(False)
self.setLayout(layout)
# self.listwidget.itemClicked.connect(self.clicked)
#
# self.setCentralWidget(self.listwidget)
def clicked(self,Index):
QMessageBox.information(self,'QListWidget 扩展表格视图',"您选择了:"+self.listwidget.item(self.listwidget.row(Index)).text())
if __name__ == '__main__':
app = QApplication(sys.argv)
# 设置应用图标
app.setWindowIcon(QIcon('../web.ico'))
w = tableWidgetDemo()
w.show()
sys.exit(app.exec_())