我想为我的QComboBox
创建一个项目,它在一行中显示一个字符串和4个像素(最后的用法是让用户可以从颜色方案列表中进行选择)。在
有人能帮我定制QStandardItem
来获得这个效果吗?我想我可以利用这些行来做,但我运气不太好。这就是我目前所做的。。。在
myComboBox = QtGui.QComboBox()
item = QtGui.QStandardItem()
item.setRowCount(4)
colour1 = QtGui.QPixmap(16, 16)
colour1 .fill(QtGui.QColor("red"))
colour2 = QtGui.QPixmap(16, 16)
colour2 .fill(QtGui.QColor("blue"))
colour3 = QtGui.QPixmap(16, 16)
colour3 .fill(QtGui.QColor("white"))
childitem1 = QtGui.QStandardItem(QtGui.QIcon(colour1), "1")
childitem2 = QtGui.QStandardItem(QtGui.QIcon(colour2), "2")
childitem3 = QtGui.QStandardItem(QtGui.QIcon(colour3), "3")
item.setChild(0, childitem1)
item.setChild(1, childitem2)
item.setChild(2, childitem3)
myComboBox.model().appendRow(item)
但我只得到了一个空的项目,没有一个孩子是可见的-很有可能我完全误解了这是如何工作的:)
通过将表视图放入组合框中,我得到了一种半解决方案,如下所示:
它不是100%漂亮,但它只是做了工作!谢谢你的帮助。在
您必须创建一个QStandarItemModel,将您的项附加到它,最后您必须使用
myComboBox.setModel()
将此模型设置为组合框。在像这样的东西
相关问题 更多 >
编程相关推荐