对于一行QListWidgets,我想知道是否有一种简单的方法来标记每个小部件,以便用户能够说出哪个列表是哪个列表。 下面是一个对话框的截图一个代码张贴在下面的结果。 我避免使用QListWidgets()之外的任何小部件。理想的解决方案是利用QListWidgets本身来解决。如果有一种方法可以放置一个文本行标签,与QGroupBox with.setTitle('myString')类似,那就太好了。至少,将标签作为第一个列表项的能力也足够了。。。你知道吗
from PyQt4 import QtGui, QtCore
class MyApp(object):
def __init__(self):
super(MyApp, self).__init__()
app = QtGui.QApplication(sys.argv)
self.mainWidget = QtGui.QWidget()
self.mainLayout = QtGui.QVBoxLayout()
self.mainWidget.setLayout(self.mainLayout)
self.groupbox = QtGui.QGroupBox()
self.groupbox.setTitle('My Groupbox')
self.layout = QtGui.QVBoxLayout()
self.groupbox.setLayout(self.layout)
self.listGroupbox = QtGui.QGroupBox()
self.listLayout = QtGui.QHBoxLayout()
self.listGroupbox.setLayout(self.listLayout)
self.listA=QtGui.QListWidget()
self.listB=QtGui.QListWidget()
self.listLayout.addWidget(self.listA)
self.listLayout.addWidget(self.listB)
self.layout.addWidget(self.listGroupbox)
self.okButton = QtGui.QPushButton('OK')
self.okButton.clicked.connect(self.OK)
self.layout.addWidget(self.okButton)
self.mainLayout.addWidget(self.groupbox)
self.mainWidget.show()
sys.exit(app.exec_())
def OK(self):
print 'Ok'
if __name__ == '__main__':
MyApp()
下面是我在不放弃QListWidget()的情况下实现它的尝试。。。利用layout的.insertLayout()方法附加QLabel,而不丢失QGroupBox()通常占用的GUI空间。。。你知道吗
不幸的是,没有(Qt native)方法来标记
QListView
(基于QListWidget
)。如果您真的不需要额外的小部件,我将改为使用单个列QTableWidget
,并将列表标题放在列标题中。QTableWidget
和QListWidget
的工作原理非常相似,因此这可能不会破坏太多现有代码。你知道吗以你的为例:
相关问题 更多 >
编程相关推荐