1
我想创建一个160行的表,然后插入一个QCheckBox
奇数行,特别是在第10列。问题是,我必须创建80 QCheckBox
(每行一个,因此它们可以由用户分别分配)...
为我需要做的9个项目创建一个个80 QCheckBox
对象就是废话!
有什么办法通过循环做到这一点?我想不出任何事情,我寻找答案,什么都没发现。
[...]
# importing PySide
from PySide import QtGui, QtCore
[...]
# Creating a Table
class Table(QtGui.QDialog):
def __init__(self, parent=None):
super(Table, self).__init__(parent)
self.table = QtGui.QTableWidget()
self.table.setRowCount(160)
self.table.setColumnCount(10)
# This is the tricky part:
chkBoxItem = QtGui.QTableWidgetItem()
chkBoxItem.setFlags(QtCore.Qt.ItemIsUserCheckable|QtCore.Qt.ItemIsEnabled)
chkBoxItem.setCheckState(QtCore.Qt.Unchecked)
chkBoxItem2 = QtGui.QTableWidgetItem()
chkBoxItem2.setFlags(QtCore.Qt.ItemIsUserCheckable|QtCore.Qt.ItemIsEnabled)
chkBoxItem2.setCheckState(QtCore.Qt.Unchecked)
chkBoxItem3 = QtGui.QTableWidgetItem()
chkBoxItem3.setFlags(QtCore.Qt.ItemIsUserCheckable|QtCore.Qt.ItemIsEnabled)
chkBoxItem3.setCheckState(QtCore.Qt.Unchecked)
[...]
# Then insert all of them in the Table:
self.table.setItem(0, 10, chkBoxItem)
self.table.setItem(2, 10, chkBoxItem2)
self.table.setItem(4, 10, chkBoxItem3)
self.table.setItem(6, 10, chkBoxItem4)
self.table.setItem(8, 10, chkBoxItem5)
self.table.setItem(10, 10, chkBoxItem6)
self.table.setItem(12, 10, chkBoxItem7)
[...]
我有急事,现在做的,所以我的答案是不是很阐述。如果我可以休息一段时间,我会尽快回复你。你的问题也需要一点点版本,我会告诉你它有什么问题(没有什么重要的)。 – DrHaze
非常感谢@DrHaze! –
我已经改变了你原来的文章,你可以在这里看到编辑:[编辑](http://stackoverflow.com/posts/30531228/revisions) 我纠正了一些公式,删除了“Run snippet”,它主要是为js脚本。没有必要在你的帖子中道歉因为你的英文不好,这里的大多数人不是母语人士。只要你可以理解,没关系。无需说谢谢,或者感谢任何帮助,帮助SO上的人应该是一种乐趣(对我而言)。 SO的人很乐意帮助人们并在需要时获得帮助。欢迎来到SO btw。 – DrHaze