pyqt4,QTableWidget 动态添加控件,添加图片,右键菜单选项
来源:互联网 发布:smg淘宝店 编辑:程序博客网 时间:2024/06/06 16:29
#-*- coding:utf-8 -*-#######line table 使用from PyQt4.QtCore import *from PyQt4.QtGui import *import sysclass MyWindow(QDialog,QWidget): def __init__(self,parent = None): super(MyWindow,self).__init__(parent) self.resize(400,400) self.mainlayout = QGridLayout(self) self.myTable = QTableWidget() self.mainlayout.addWidget(self.myTable) self.tableSetting() def tableSetting(self): self.myTable.setRowCount(3)########设置table的列数 self.myTable.setColumnCount(3) #######设置table列数 self.myTable.setColumnWidth(0,60)####设置第一列的宽度 self.myTable.setHorizontalHeaderLabels([u"控件",u" 文字 ",u"图片"]) ######设置标题栏 self.myTable.resizeColumnToContents(1) #####第二列根据标题自适应 self.myTable.setSelectionBehavior(QAbstractItemView.SelectRows) ###设置一次选中一行 self.myTable.setEditTriggers(QAbstractItemView.NoEditTriggers) ###设置表格禁止编辑 self.myTable.setContextMenuPolicy(Qt.CustomContextMenu)######允许右键产生子菜单 self.myTable.customContextMenuRequested.connect(self.generateMenu) ####右键菜单 #########设置表格内容 self.setTableContext() def generateMenu(self,pos): print pos row_num = -1 for i in self.myTable.selectionModel().selection().indexes(): row_num = i.row() menu = QMenu() item1 = menu.addAction(u"选项一") item2 = menu.addAction(u"选项二") item3 = menu.addAction(u"选项三" ) action = menu.exec_(self.myTable.mapToGlobal(pos)) if action == item1: print u'您选了选项一,当前行文字内容是:',self.myTable.item(row_num,1).text() elif action == item2: print u'您选了选项二,当前行文字内容是:',self.myTable.item(row_num,1).text() elif action == item3: print u'您选了选项三,当前行文字内容是:',self.myTable.item(row_num,1).text() else: return def setTableContext(self): ctrlListCheckBox = [i for i in xrange(3)] for i in xrange(3): self.setRowData(i,ctrlListCheckBox) def setRowData(self,row,ctrl): ##########在table中添加控件 ctrl[row] = QCheckBox() ctrl[row].setChecked(False) ctrl[row].clicked.connect(lambda:self.selectDev(ctrl[row].checkState(),row)) self.myTable.setCellWidget(row,0,ctrl[row]) ########table中添加文字 nameItem = QTableWidgetItem("item"+str(row)) self.myTable.setItem(row,1,nameItem) ########table中添加图片,线添加label控件 再添加图片 self.label_pic = QLabel() self.label_pic.setPixmap(QPixmap(str(row)+".jpg")) self.myTable.setCellWidget(row,2,self.label_pic) def selectDev(self,check_state,row): print 'check_state:',check_state print 'row:',rowapp=QApplication(sys.argv)window=MyWindow()window.show()app.exec_()
0 0
- pyqt4,QTableWidget 动态添加控件,添加图片,右键菜单选项
- 控件添加右键菜单
- WPF如何后台动态添加控件的右键菜单
- WPF如何后台动态添加控件的右键菜单
- QTableWidget 添加右键菜单,最后一行不能处理
- 鼠标右键菜单添加vim选项
- 右键菜单添加UltraEdit的选项(转)
- 右键菜单添加UltraEdit的选项(转)
- 右键菜单添加UltraEdit的选项(转)
- 添加电源icon的右键菜单选项
- 添加右键菜单选项(editplus)
- MFC 添加右键菜单选项功能
- Linux 右键菜单(添加新建文件选项)
- 动态添加菜单/菜单项、子菜单、右键菜单
- 如何动态添加菜单/菜单项、子菜单、右键菜单
- 如何动态添加菜单/菜单项、子菜单、右键菜单
- 如何动态添加菜单/菜单项、子菜单、右键菜单
- 如何动态添加菜单/菜单项、子菜单、右键菜单
- tomcat与web程序结构
- No cache or cacheManager properties have been set. Authorization cache cannot be obtained.
- Linux下Nagios的安装与配置
- Android消息传递机制----Handler
- rem使用
- pyqt4,QTableWidget 动态添加控件,添加图片,右键菜单选项
- 能走多远不取决于一个人改正多少个缺点,而在于是否最大限度发挥长处
- 移植u-boot到mini2440--board_init_r 分析
- JAVA中类型后面跟三个点的使用问题
- flink cep 性能测试
- IE浏览器的四种技巧,可以试用一下
- [leetcode] 224. Basic Calculator 解题报告
- Android用SharedPreference存储数据
- YOLO 卷积层代码学习