2016-11-17 41 views
0

因此,我開發了此工作GUI,但根據用戶輸入,我無法將我的QcomboBox連接到多個不同的插槽。實質上,我希望用戶能夠從QcomboBox中選擇一個驅動器,然後按QpushButton並自動定向到網絡驅動器。帶有QcomboBox多插槽連接的PYQT QpushButton

screenshot

我一直在抓我的頭在邏輯天。我知道代碼的第二部分應該是這樣的(也許?):

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:/')  
+0

您應該嘗試將點擊的信號更改爲currentIndexChanged – Achayan

回答

1

您應該直接從組合框中提取驅動器路徑信息。除了設置文本的組合框項,您還可以設置數據

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) 
+0

非常感謝你@ Brendan Abel!這工作完美。 –