• Pyqt5_QComboBox


    QComboBox

    是一个集按钮和下拉选项于一体的控件,也称做下拉列表框

    方法
    addItem()

    添加一个下拉选项

    addItems()

    从列表中添加下拉选项

    Clear()

    删除下拉选项集合中的所有选项

    count()

    返回下拉选项集合中的数目

    currentText()

    返回选中选项的文本

    itemText(i)

    获取索引为i的item的选项文本

    currentIndex()

    返回选中项的索引

    setItemText(int index,text)

    改变序列号为index的文本

    信号
    Activated  

    当用户选中一个下拉选项时发射该信号

    currentIndexChanged

    当下拉选项的索引发生改变时发射该信号

    highlighted      

    当选中一个已经选中的下拉选项时,发射该信号

     1 baudrate_label = QLabel(' 波  特  率  ')  
     2         bytesize_label = QLabel(' 数  据  位'  ) 
     3         parity_label = QLabel(' 校  验  位  ') 
     4         stopbit_label = QLabel(' 停  止  位  ')
     5         
     6         self.serialPort_combox = QComboBox()
     7         port_serial = mylib.getPort()
     8         i = 0
     9         for i in range(len(port_serial)):
    10             self.serialPort_combox.addItem(str(port_serial[i]))#一个个添加
    11         self.serialPort_combox.setCurrentIndex(len(port_serial)-1)#设置默认值为最后一个
    12         self.baudrate_combox = QComboBox()
    13         self.baudrate_combox.addItems(myconst.baudrate_list)#直接添加一个list
    14         self.baudrate_combox.setCurrentText(myconst.baudrate_list[4])#设置默认选择
    15         #for item in myconst.baudrate_list:
    16             #baudrate_combox.addItem(str(item))
    17             
    18         self.bytesize_combox = QComboBox()  
    19         self.bytesize_combox.addItems(myconst.bytesizes)
    20         self.bytesize_combox.setCurrentText(myconst.bytesizes[3])#设置默认选择
    21         self.parity_combox = QComboBox()
    22         self.parity_combox.addItems(myconst.parity_list)
    23         self.stopbit_combox = QComboBox()
    24         self.stopbit_combox.addItems(myconst.stop_bits)
    25         self.stopbit_combox.setCurrentIndex(0)
    26         #将以上控件添加到formlayout布局中
    27         flayout_1.addRow(serialPort_label, self.serialPort_combox)
    28         flayout_1.addRow(baudrate_label, self.baudrate_combox)
    29         flayout_1.addRow(bytesize_label, self.bytesize_combox)
    30         flayout_1.addRow(parity_label, self.parity_combox)
    31         flayout_1.addRow(stopbit_label, self.stopbit_combox)
    32         #将布局添加到paraConf_combox (QGroupBox) 中
    33         self.portSetting_groupbox.setLayout(flayout_1)
     1 import sys
     2 from PyQt5.QtCore import *
     3 from PyQt5.QtWidgets import *
     4 from PyQt5.QtCore import *
     5 
     6 class ComboxDemo(QWidget):
     7     def __init__(self,parent=None):
     8         super(ComboxDemo, self).__init__(parent)
     9         #设置标题
    10         self.setWindowTitle('ComBox例子')
    11         #设置初始界面大小
    12         self.resize(300,90)
    13 
    14         #垂直布局
    15         layout=QVBoxLayout()
    16         #创建标签,默认空白
    17         self.btn1=QLabel('')
    18 
    19         #实例化QComBox对象
    20         self.cb=QComboBox()
    21         #单个添加条目
    22         self.cb.addItem('C')
    23         self.cb.addItem('C++')
    24         self.cb.addItem('Python')
    25         #多个添加条目
    26         self.cb.addItems(['Java','C#','PHP'])
    27         #当下拉索引发生改变时发射信号触发绑定的事件
    28         self.cb.currentIndexChanged.connect(self.selectionchange)
    29 
    30         #控件添加到布局中,设置布局
    31         layout.addWidget(self.cb)
    32         layout.addWidget(self.btn1)
    33         self.setLayout(layout)
    34 
    35     def selectionchange(self,i):
    36         #标签用来显示选中的文本
    37         #currentText():返回选中选项的文本
    38         self.btn1.setText(self.cb.currentText())
    39         print('Items in the list are:')
    40         #输出选项集合中每个选项的索引与对应的内容
    41         #count():返回选项集合中的数目
    42         for count in range(self.cb.count()):
    43             print('Item'+str(count)+'='+self.cb.itemText(count))
    44             print('current index',i,'selection changed',self.cb.currentText())
    45 
    46 if __name__ == '__main__':
    47     app=QApplication(sys.argv)
    48     comboxDemo=ComboxDemo()
    49     comboxDemo.show()
    50     sys.exit(app.exec_())
  • 相关阅读:
    struts总结
    struts的MVC详细实现
    struts的由来
    Hibernate的搭建及使用
    Hibernate简介
    泛型
    eclipse手动添加源码
    beanUtils操作bean的属性
    ref:JAVA之Forward和Redirect的区别
    ref:下一个项目为什么要用 SLF4J
  • 原文地址:https://www.cnblogs.com/yaner2018/p/9812782.html
Copyright © 2020-2023  润新知