实现pyqt QCombox.view().isVisible()为什么始终返回False
时间: 2024-01-11 17:02:59 浏览: 79
数据文本转换器,可完成对文本文档(.txt)、CSV文档、Excel文档的格式转换!
如果QComboBox.view().isVisible()始终返回False,可能是因为QComboBox没有正确地设置下拉列表视图的显示策略。可以尝试在创建QComboBox对象时使用setView方法为其设置一个QListView对象,然后在该QListView对象上调用setSizePolicy方法,并设置其SizePolicy属性为QSizePolicy.Expanding和QSizePolicy.Maximum,这样可以确保下拉列表视图的大小会根据内容自动调整,并且不会超出屏幕范围。以下是一个示例代码:
```
from PyQt5.QtWidgets import QApplication, QComboBox, QListView, QSizePolicy
app = QApplication([])
combo_box = QComboBox()
list_view = QListView(combo_box)
list_view.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Maximum)
combo_box.setView(list_view)
print(combo_box.view().isVisible())
app.exec_()
```
这段代码创建了一个QComboBox对象和一个QListView对象,并将QListView对象设置为QComboBox的下拉列表视图,然后通过调用QListView对象的setSizePolicy方法设置其SizePolicy属性,最后打印QComboBox.view().isVisible()的值。在运行这段代码时,如果QComboBox.view().isVisible()返回True,则说明设置成功。
阅读全文