Python高级进阶#017 pyqt5下拉列表控件QComboBox

知识回顾:
html

1.掌握Qpixmap图片对象python

2.掌握qlabel控件装载和调整图片web


本节知识视频教程编程

如下开始文字讲解:ruby


1、目标案例:省市联动选择微信

1.须要两个下拉列表app

2.点击第一个下拉列表后,会联动第二个列表中的内容ide

3.要求使用frame的绝对布局函数

应用效果布局


2、下拉框combobox使用

1.基本配置

主要用于选择,好比省市联动选择必需要载入Qcombobox类。

实例化类为一个对象,对这个对象进行配置,实则就是对下拉列表的配置。

combo1=QComboBox(myframe1)  在实例化的时候,要选择父容器

combo1.move(20,0)


咱们经过addItem来往combobox中装入项目。

        combo1.addItem("选择省份")

        combo1.addItem("浙江")

        combo1.addItem("江苏")

        combo1.addItem("安徽")

用到clear方法将全部项目进行清空。


2.下拉选择事件

Combobox的点击事件

理解为激活actived信号。

信号有两种传递方式:

第一种:传递字符串,这个实则传递的是选择的文本。

combo1.activated[str].connect(自定义槽方法)


第二种:传递整型变量,这个传递的是选择的索引。索引默认从0开始。

第一项的索引是0,第二项的索引是1,依次类推..

combo1.activated[int].connect(自定义槽方法)


省市联动的combobox

注意:必需要将须要联动的控件作成类对象的属性。实际上就是加上self.


3、扩展知识内容

下拉列表框也能够进行输入,可是须要对方法进行配置。

配置setEditable 为True:

combo1.setEditable(True)


对应的信号为: editTextChanged


那么咱们一样能够采用信号槽的方式实现编辑时候的事件处理函数。


得出的经验特色:

咱们在书写信号的时候,这些信号基本上都是以ed进行结尾的。


4、总结强调

1.掌握qcombobox的载入布局与项目加载。

2.掌握下拉列表的编辑和对应事件。

3.掌握联动的思想。


本节知识源代码:

import sysfrom PyQt5.QtWidgets import QApplication,QWidget,QLabel,QComboBox,QFrame
class MyClass(QWidget): def __init__(self): super(MyClass, self).__init__() self.initUI()
def initUI(self): self.setWindowTitle("刘金玉编程") self.setGeometry(300,100,400,300)
myframe1=QFrame(self) myframe1.move(50,50) lbl1=QLabel("省",myframe1) lbl1.move(0,3) combo1=QComboBox(myframe1) combo1.move(20,0) # combo1.setEditable(True)
combo1.activated[str].connect(self.myActived)
#省份 combo1.addItem("选择省份") combo1.addItem("浙江") combo1.addItem("江苏") combo1.addItem("安徽")
#市级 lbl1 = QLabel("市", myframe1) lbl1.move(100, 3) self.combo2 = QComboBox(myframe1) self.combo2.move(120, 0)
self.show()
def myActived(self,s): self.combo2.clear() if s=="浙江": self.combo2.addItem("杭州") self.combo2.addItem("宁波") self.combo2.addItem("温州") elif s=="江苏": self.combo2.addItem("苏州") self.combo2.addItem("无锡") self.combo2.addItem("扬州") self.combo2.addItem("南京")

if __name__=="__main__": app=QApplication(sys.argv) mc=MyClass() app.exec_()


长按关注公众号

相关文章:

  1. python高级进阶#001可视化界面开发环境搭建

  2. python高级进阶#002第一个pyqt5程序

  3. Python高级进阶#003 pyqt5与qtdesigner对照分析

  4. Python高级进阶#004 pyqt5设置窗体图标

  5. Python高级进阶#005 pyqt5显示提示框

  6. Python高级进阶#006 pyqt5类封装

  7. Python高级进阶#007 pyqt5消息盒子QMessageBox

  8. Python高级进阶#008 pyqt5窗体居中和布局

  9. Python高级进阶#009 pyqt5中窗体的绝对布局和相对布局

  10. Python高级进阶#010 pyqt5网格布局QGridLayout

  11. Python高级进阶#011 pyqt5按钮QPushButton应用

  12. Python高级进阶#012 pyqt5 QLineEdit文本事件应用

  13. Python高级进阶#013 pyqt5复选框QCheckBox

  14. Python高级进阶#014 pyqt5滑块控件QSlider应用

  15. Python高级进阶#015 pyqt5进度条QProgressBar结合使用qbasictimer

  16. Python高级进阶#016 pyqt5载入图片QPixmap应用


本文分享自微信公众号 - 编程创造城市(bcczcs)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索