77 lines
1.9 KiB
Python
Raw Normal View History

2022-07-23 11:02:29 +08:00
import sys
from PySide6 import QtCore, QtWidgets
"""
QComboBox
设置是否具有边框默认值为True
.setFrame(enable: bool)
.hasFrame() -> bool
当设置了无效索引时将显示占位文本
.setPlaceholderText(placeholder_text: str)
.placeholderText() -> str
清空条目与清空单行编辑器功能
.clear()
.clearEditText()
可以通过调用方法来编程弹出/收回下拉框
.showPopup()
.hidePopup()
设置补全器与验证器详细内容见本项目QCompleterQValidator章节
.setCompleter(completer: QCompleter)
.setValidator(validator: QValidator)
"""
class MyWidget(QtWidgets.QWidget):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.setWindowTitle("空白测试模板")
self.resize(800, 600)
self.setup_ui()
self.test()
def setup_ui(self) -> None:
"""设置界面"""
self.cbb = QtWidgets.QComboBox(self)
self.cbb.move(200, 200)
self.cbb.addItems([str(i) for i in range(100, 105)]) # 通过列表推导式快速添加多个条目
self.button = QtWidgets.QPushButton("测试按钮", self)
self.button.move(400, 200)
def test(self) -> None:
"""测试combobox功能"""
# 允许编辑
self.cbb.setEditable(True)
# 设置边框
self.cbb.setFrame(False)
@QtCore.Slot()
def test_popup():
"""测试弹出下拉框功能"""
self.cbb.showPopup()
# self.cbb.hidePopup()
self.button.clicked.connect(test_popup) # type: ignore
# 测试补全器
self.cbb.setCompleter(QtWidgets.QCompleter(["abc", "106", "1001"]))
# 测试清空
self.cbb.clearEditText() # 清除单行编辑器中的文本
# self.cbb.clear() # 清除所有条目
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
window = MyWidget()
window.show()
sys.exit(app.exec())