【发布时间】:2018-02-02 03:30:05
【问题描述】:
这个问题我指的是@Andy PyQt Tree Widget, adding check boxes for dynamic removal的回答
@Andy 展示了如何将CheckBox 添加到QTreeWidget 中,效果很好。
我想在这里问一下,如何将RadioButton添加到QTreeWidget中? ----而且,这对我来说更难,如何只选择一个项目,尽管它们在不同的groups 中?
我将@Andy 的代码重写为PyQt5:
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
import sys
def main():
app = QApplication (sys.argv)
tree = QTreeWidget ()
headerItem = QTreeWidgetItem()
item = QTreeWidgetItem()
for i in range(3):
parent = QTreeWidgetItem(tree)
parent.setText(0, "Parent {}".format(i))
parent.setFlags(parent.flags() | Qt.ItemIsTristate | Qt.ItemIsUserCheckable)
for x in range(5):
child = QTreeWidgetItem(parent)
child.setFlags(child.flags() | Qt.ItemIsUserCheckable)
child.setText(0, "Child {}".format(x))
child.setCheckState(0, Qt.Unchecked)
tree.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
上面代码的运行结果:
任何帮助将不胜感激!谢谢!
【问题讨论】:
-
你可以解释一下它的含义:如何只选择一个项目,尽管它们在不同的组中?
-
什么是组,在另一个组中是什么意思?您的意思是每个组都与 parent0、parent1 等相关联,并且相同的项目是例如具有相同名称的那些?
-
你想让父母也有QRadioButton吗?
-
所有父母都会有相同的孩子?
-
@eyllanesc 感谢您的回答。我在上面添加了一张图片来解释我的问题。请看一看。组的名称并不重要。总之,我的问题是:1 如何添加 Radiobutton,以及 2 如何使 Radiobutton '唯一'。
标签: python pyqt pyqt5 qtreewidget qradiobutton