QCompleter 是什么?
QCompleter可以在任何Qt控件(如QLineEdit和QComboBox)中提供自动完成功能。当用户开始输入一个单词时,QCompleter根据一个单词列表提示了完成该单词的可能方法。
先看完整代码:
from PySide2.QtWidgets import QApplication, QWidget, QVBoxLayout, QCompleter, QLineEdit
import sys
from PySide2.QtGui import QIcon
class Window(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("Pyside2 Completer")
self.setGeometry(300,200,300,250)
self.createCompleter()
self.setIcon()
self.show()
def setIcon(self):
appIcon = QIcon("icon.png")
self.setWindowIcon(appIcon)
def createCompleter(self):
vbox = QVBoxLayout()
names = ["Afghanistan", "Argentina", "India", "Pakistan", "Japan", "Indonesia", "China", "UAE", "America",
"Armanistan", "Azerbaijan", "Chicago", "Chile"]
completer = QCompleter(names)
self.lineEdit = QLineEdit()
self.lineEdit.setCompleter(completer)
vbox.addWidget(self.lineEdit)
self.setLayout(vbox)
myapp = QApplication(sys.argv)
window = Window()
myapp.exec_()
sys.exit()
names是预置的单词列表,界面主要是一个QLineEdit控件,给它赋予了Completer能力。
运行看效果:
如果不清楚其它代码含义,请参考前面课程:
Python界面编程第一课:我们开始用Pyside2 (Qt For Python)
Python界面编程第二课:Pyside2 创建窗口 (Python GUI)
Python界面编程第三课:Pyside2 (Qt For Python)给窗口加个图标
Python界面编程第四课:Pyside2 (Qt For Python)创建图标模式
Python界面编程第五课:Pyside2 (Qt For Python)怎么创建控件提示Tooltip
Python界面编程第六课:Pyside2 (Qt For Python),QPushButton按钮的信号与槽
Python界面编程第七课:Pyside2 (Qt For Python)窗口居中
Python界面编程第八课:Pyside2 (Qt For Python)打开关于窗口
Python界面编程第九课:Pyside2 (Qt For Python)创建数字时钟
Python界面编程第十课:Pyside2 (Qt For Python)创建StatusBar
Python界面编程第十一课:Pyside2 (Qt For Python)创建进度条
Python界面编程第十二课:Pyside2 (Qt For Python)布局管理QVBoxLayout 和 QHBoxLayout
Python界面编程第十三课:Pyside2 (Qt For Python)GridLayout网格布局
Python界面编程第十四课:Pyside2 (Qt For Python)使用Calendar创建日历
Python界面编程第十五课:Pyside2 (Qt For Python)使用CheckBox复选框
Python界面编程第十六课:Pyside2 (Qt For Python)FontComboBox字体选择框