栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

PyQt allign复选框,并将其放在每一行中

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

PyQt allign复选框,并将其放在每一行中

这是ekhumoro的示例,用于查找单击时要检查的内容:

from PyQt4 import QtGui, QtCoreclass Window(QtGui.QWidget):    def __init__(self, rows, columns):        QtGui.QWidget.__init__(self)        self.table = QtGui.QTableWidget(rows, columns, self)        for column in range(columns): for row in range(rows):     item = QtGui.QTableWidgetItem('Text%d' % row)     if row % 2:         item.setFlags(QtCore.Qt.ItemIsUserCheckable | QtCore.Qt.ItemIsEnabled)         item.setCheckState(QtCore.Qt.Unchecked)     self.table.setItem(row, column, item)        self.table.itemClicked.connect(self.handleItemClicked)        layout = QtGui.QVBoxLayout(self)        layout.addWidget(self.table)        self._list = []    def handleItemClicked(self, item):        if item.checkState() == QtCore.Qt.Checked: print('"%s" Checked' % item.text()) self._list.append(item.row()) print(self._list)        else: print('"%s" Clicked' % item.text())if __name__ == '__main__':    import sys    app = QtGui.QApplication(sys.argv)    window = Window(6, 3)    window.resize(350, 300)    window.show()    sys.exit(app.exec_())

但是您也可以在行

.findChild(type(QtGui.QCheckBox())).isChecked()
上进行迭代并在适当的列上使用

如 :

from PyQt4 import QtGui, QtCorefrom PyQt4.QtCore import Qtclass Window(QtGui.QWidget):    def __init__(self, rows, columns):        QtGui.QWidget.__init__(self)        self.table = QtGui.QTableWidget(rows, columns, self)        for row in range(rows): qwidget = QtGui.QWidget() checkbox = QtGui.QCheckBox() checkbox.setCheckState(QtCore.Qt.Unchecked) qhboxlayout = QtGui.QHBoxLayout(qwidget) qhboxlayout.addWidget(checkbox) qhboxlayout.setAlignment(Qt.AlignCenter) qhboxlayout.setContentsMargins(0, 0, 0, 0) self.table.setCellWidget(row, 0, qwidget) self.table.setItem(row, 1, QtGui.QTableWidgetItem(str(row)))        layout = QtGui.QVBoxLayout(self)        self.button = QtGui.QPushButton()        self.button.setObjectName("loadButton")        layout.addWidget(self.table)        layout.addWidget(self.button)        self.button.clicked.connect(self.ButtonClicked)    def ButtonClicked(self):        checked_list = []        for i in range(self.table.rowCount()): if self.table.cellWidget(i, 0).findChild(type(QtGui.QCheckBox())).isChecked():     checked_list.append(self.table.item(i, 1).text())        print checked_listif __name__ == '__main__':    import sys    app = QtGui.QApplication(sys.argv)    window = Window(3, 2)    window.resize(350, 300)    window.show()    sys.exit(app.exec_())


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/625515.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号