Python 3.x 如何在实时双QCOMBOX中连接
我正在研究PyQT5UI框架。如何实时连接两个QCOMBOX,以便QCOMBOX 2根据QCOMBOX 1中的文本加载数据。以下是一个非常小的示例。通过将插槽连接到第一个组合框的textChanged信号,可以更改第二个组合框中的项目。根据第一个组合框中的当前文本,我使用字典查找第二个组合框中应该显示哪些项目Python 3.x 如何在实时双QCOMBOX中连接,python-3.x,pyqt5,qcombobox,Python 3.x,Pyqt5,Qcombobox,我正在研究PyQT5UI框架。如何实时连接两个QCOMBOX,以便QCOMBOX 2根据QCOMBOX 1中的文本加载数据。以下是一个非常小的示例。通过将插槽连接到第一个组合框的textChanged信号,可以更改第二个组合框中的项目。根据第一个组合框中的当前文本,我使用字典查找第二个组合框中应该显示哪些项目 from PyQt5.QtWidgets import QWidget, QApplication, QComboBox, QFormLayout class Widget(QWidge
from PyQt5.QtWidgets import QWidget, QApplication, QComboBox, QFormLayout
class Widget(QWidget):
def __init__(self, parent = None):
super().__init__(parent)
self.categories = {'animals':['cat', 'dog', 'parrot', 'fish'],
'flowers':['daisies', 'tulips', 'daffodils', 'roses'],
'colors':['red', 'orange', 'blue', 'purple']}
self.cat_combobox = QComboBox(self)
self.item_combobox = QComboBox(self)
self.cat_combobox.setEditable(False)
self.item_combobox.setEditable(False)
self.cat_combobox.currentTextChanged.connect(self.set_category)
self.cat_combobox.addItems(sorted(self.categories.keys()))
form_layout = QFormLayout(self)
form_layout.addRow('Category', self.cat_combobox)
form_layout.addRow('Items', self.item_combobox)
def set_category(self, text):
self.item_combobox.clear()
self.item_combobox.addItems(self.categories.get(text, []))
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
window = Widget()
window.show()
app.exec()