下拉选择框QCombox

Posted liming19680104

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了下拉选择框QCombox相关的知识,希望对你有一定的参考价值。

 

技术图片

下拉列表框样式如图:

技术图片

字体列表框样式:

技术图片

 

 1 import sys
 2 from PyQt5.QtWidgets import QApplication, QWidget, QComboBox, QFontComboBox, QLineEdit, QMessageBox, QVBoxLayout
 3 import time
 4 
 5 class Demo(QWidget):
 6     choice = a
 7     choice_list = [b, c, d, e]
 8 
 9     def __init__(self):
10         super(Demo, self).__init__()
11 
12         self.combobox_1 = QComboBox(self)  # 实例化下拉列表框
13         self.combobox_2 = QFontComboBox(self)  # 实例化字体列表框
14 
15         self.lineedit = QLineEdit(self)
16 
17         self.v_layout = QVBoxLayout()
18 
19         self.layout_init()
20         self.combobox_init()
21         
22 
23     def layout_init(self):
24         self.v_layout.addWidget(self.combobox_1)
25         self.v_layout.addWidget(self.combobox_2)
26         self.v_layout.addWidget(self.lineedit)
27 
28         self.setLayout(self.v_layout)
29 
30     def combobox_init(self):
31         self.combobox_1.addItem(self.choice)  # 添加一个选项
32         self.combobox_1.addItems(self.choice_list)  # 添加容器中的参数。容器:可迭代的
33         self.combobox_1.currentIndexChanged.connect(lambda: self.on_combobox_func(self.combobox_1))
34         #选项索引号发生变化时发出信号
35         # self.combobox_1.currentTextChanged.connect(lambda: self.on_combobox_func(self.combobox_1))
36         #当文本内容发生变化时发出信号
37 
38         self.combobox_2.currentFontChanged.connect(lambda: self.on_combobox_func(self.combobox_2))
39         #字体选项发生变化时发出信号
40 
41     def on_combobox_func(self, combobox):
42         if combobox == self.combobox_1:
43             QMessageBox.information(self, ComboBox 1,
44                                     {}: {}.format(combobox.currentIndex(), combobox.currentText()))
45             #combobox.currentIndex() 返回当前索引号
46             #combobox.currentText()  返回当前选项的文本
47         else:
48             self.lineedit.setFont(combobox.currentFont())
49             #单行文本编辑框设置字体
50             #combobox.currentFont()  字体选择框中当前的字体
51 
52 
53 
54 if __name__ == __main__:
55     app = QApplication(sys.argv)
56     demo = Demo()
57     demo.show()
58     sys.exit(app.exec_())

 

 1 import sys
 2 from PyQt5.QtWidgets import QApplication, QWidget, QComboBox
 3 
 4 class Demo(QWidget):
 5     choice = a
 6     choice_list = [物理,化学,数学,语文,历史]
 7 
 8 
 9     def __init__(self):
10         super(Demo, self).__init__()
11 
12         self.combobox_1 = QComboBox(self)
13         self.combobox_1.addItems(Demo.choice_list)
14         #self.combobox_1.clear()   #清空列表框
15         count=self.combobox_1.count()   #返回项目总数
16         s=self.combobox_1.itemText(2)  #返回指定索引项的文本【索引号从0开始】
17         self.combobox_1.setItemText(2,‘外语‘)   #修改指定索引项的文本
18         self.combobox_1.highlighted.connect(self.ac)   #鼠标指向新选项时就发出信号
19 
20     def ac(self):
21         print(你选中一个选项)
22 
23 if __name__ == __main__:
24     app = QApplication(sys.argv)
25     demo = Demo()
26     demo.show()
27     sys.exit(app.exec_())

 

以上是关于下拉选择框QCombox的主要内容,如果未能解决你的问题,请参考以下文章

Qt QComBox 文本框输入itemText && 文本框查找item && 本文框添加Item &&设置显示Item数量

js改变下拉框内容

html下拉选择框;html下拉框

用jquery设置下拉不可编辑,但是没起作用,求高手指点,急。。。

C# winform gridview 代码转为下拉选择框

easyui中如何设置下拉列表框只能选择,列表框内不能输入,