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源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索