不知道为什么我不能让它工作,所以也许你们中的一个人能够看到我的错误......:
combo_type = QComboBox()
combo_type.setMaximumWidth(50)
combo_type.addItems(["TEsst1111","TEsst11111111111111","TEsst1111111111111111111111111"])
combo_type.setStyleSheet('''*
QComboBox QAbstractItemView::item
{
min-width: 6000px;
}
''')
这个想法是这样的,UI中的小部件有50个宽度但是当下拉和打开时我可以读取列表,遗憾的是样式表覆盖不会改变下拉宽度,使其变为50并且不可读...
感谢。
答案 0 :(得分:3)
排序......这是命名错误。正确的答案发布在下面。
combo_type.setStyleSheet('''*
QComboBox QAbstractItemView
{
min-width: 150px;
}
''')
答案 1 :(得分:1)
使用QListView
:
combo_type = QComboBox()
combo_type.SizeAdjustPolicy(QComboBox.AdjustToContentsOnFirstShow)
view = QListView() # creat a ListView
view.setFixedWidth(200) # set the ListView with fixed Width
combo_type.setView(view) # provide the list view to Combobox object
combo_type.setMaximumWidth(500) # will be overwritten by style-sheet
combo_type.addItems(["TEsst1111","TEsst11111111111111","TEsst1111111111111111111111111"])
combo_type.setStyleSheet('''
QComboBox { max-width: 50px; min-height: 40px;}
QComboBox QAbstractItemView::item { min-height: 150px;}
QListView::item:selected { color: red; background-color: lightgray; min-width: 1000px;}"
''')