美文网首页
PYQT5(5)带跳转按钮的QTableWidgets

PYQT5(5)带跳转按钮的QTableWidgets

作者: 弗兰克万岁 | 来源:发表于2018-12-29 15:07 被阅读0次
    from PyQt5 import QtWidgets, QtCore
    from PyQt5.QtWidgets import QTableWidget, QTableWidgetItem
    
    
    class btn_table(QTableWidget):
        def __init__(self,x,y,window,res):
            self.centralwidget = QtWidgets.QWidget(window)
            self.centralwidget.setObjectName("centralwidget")
            self.centralwidget.resize(500,500)
            super().__init__(self.centralwidget)
            self.setGeometry(QtCore.QRect(20, 10, 471, 401))
            self.setObjectName("client_table")
            self.setColumnCount(x)
            self.setRowCount(y)
    
            self.buttonForRow(res)
    
            self.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
            self.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
        def buttonForRow(self,res):#添加内容并在最后一行添加一个按钮
            # requir:[[value1,value2,value3,...],[value1,value2,value3,value4,...]]
            self.clear()
            for i in range(0,len(res)):
                try:
                    item = self.horizontalHeaderItem(i)
                    self.setHorizontalHeaderItem(i, item)
                except Exception as e:
                    print(e)
                    t = QtWidgets.QTableWidgetItem()
                    self.setHorizontalHeaderItem(i, t)
                    item = self.horizontalHeaderItem(i)
    
                for a in range(0,len(res[i])):
                    self.setItem(i,a,QtWidgets.QTableWidgetItem(str(res[i][a])))
                    print(res[i][a])
                    # self.setItem(i, 1, QtWidgets.QTableWidgetItem(str(res[i][1])))
                btn=self.GenerateBtn(res[i][1])
                self.setCellWidget(i,len(res[0]),btn)
        def GenerateBtn(self,clientid):
            viewBtn = QtWidgets.QPushButton('查看')
            viewBtn.setStyleSheet(''' text-align : center;
                                  background-color : DarkSeaGreen;
                                  height : 30px;
                                  border-style: outset;
                                  color:white;
                                  font : 13px; ''')
            viewBtn.clicked.connect(lambda:self.jump(clientid) )
            return viewBtn
        def jump(self,clientid):
            print(clientid)
    

    大概效果如下

    图片.png

    相关文章

      网友评论

          本文标题:PYQT5(5)带跳转按钮的QTableWidgets

          本文链接:https://www.haomeiwen.com/subject/fuzgkqtx.html