PYQT QpushButton 与 QcomboBox 多槽连接

PYQT QpushButton with QcomboBox multi-slot connect

所以我开发了这个 GUI 用于工作,但是我无法将我的 QcomboBox 连接到多个不同的插槽,具体取决于用户输入。本质上,我希望用户能够从 QcomboBox select 驱动器,然后按下 QpushButton 并自动定向到网络驱动器。

这几天我一直在摸不着头脑。我知道代码的第二部分应该是这样的(也许?):

def retranslateUi(Self, MainWindow):
    self.btnGo.clicked.connect(self.DriverSelectClicked)

def DriverSelectClicked(self):
    if self.comboBox1.currentIndex() == 0:
       os.startfile('C:/')
    if self.comboBox1.currentIndex() == 1:
       os.startfile('Z:/')     

您应该直接从组合框中提取驱动器路径信息。除了设置组合框条目的文本外,您还可以设置数据

drives = ['C:\', 'Z:\']
for drive in drives:
    text = '[{}] Disk Drive'.format(drive)
    self.comboBox1.addItem(text, drive)

然后,当您处理点击时,您可以只读取包含驱动器的数据字段并直接使用它

def DriverSelectClicked(self):
    drive = self.comboBox1.itemData(self.comboBox1.currentIndex())
    if drive:
       os.startfile(drive)