PyQt5-QComboBox控件使用实现省市级联效果

#QComboBox下拉列表控件使用,省市级联
from PyQt5.QtWidgets import  QPushButton,QVBoxLayout,QWidget,QApplication,QRadioButton,QHBoxLayout,QCheckBox,QGroupBox,QComboBox
from PyQt5.QtGui import QIcon,QPixmap
from PyQt5.QtCore import  Qt

import sys

class WindowClass(QWidget):

    def __init__(self,parent=None):
        self.citys = {"北京": ["北京"], "上海": ["上海"], "河北省": ["石家庄", "邯郸"]}
        super(WindowClass, self).__init__(parent)
        layout=QVBoxLayout()
        self.comboBox_1=QComboBox()
        self.comboBox_1.addItem("--请选择--")
        self.comboBox_1.addItem("北京")
        self.comboBox_1.addItem("上海")
        self.comboBox_1.addItem("河北省")
        self.comboBox_1.addItems(["湖南省","湖北省","天津"])

        self.comboBox_2 = QComboBox()
        self.comboBox_2.addItem("--请选择--")

        layout.addWidget(self.comboBox_1)
        layout.addWidget(self.comboBox_2)
        self.comboBox_1.currentIndexChanged.connect(self.btnState)

        self.setLayout(layout)
    def btnState(self):
        print("状态:",self.comboBox_1.currentText())
        # for count in range(self.comboBox_1.count()):
        #     print("列表选项:" ,self.comboBox_1.itemText(count),count)

        province=self.comboBox_1.currentText()
        print(province in  self.citys.keys())
        if province!="--请选择--":
            self.comboBox_2.clear()
            self.comboBox_2.addItems(self.citys[province] if   province in  self.citys.keys() else ["--请选择--"])
        else:
            self.comboBox_2.clear()
            self.comboBox_2.addItem("--请选择--")

if __name__=="__main__":
    app=QApplication(sys.argv)
    win=WindowClass()
    win.show()
    sys.exit(app.exec_())

发布了5 篇原创文章 · 获赞 9 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_40210977/article/details/93777229