2016-11-17 8 views
0

私はこのGUIを開発しましたが、ユーザーの入力に応じてQcomboBoxを複数の異なるスロットに接続する際に問題があります。基本的には、ユーザーはQcomboBoxからドライブを選択し、QpushButtonを押してネットワークドライブに自動的に誘導することができます。QcomboBoxマルチスロット接続のPYQT QpushButton

screenshot

私は今日間ロジック上で、私の頭を悩まされています。コードの2番目の部分は、このようなものになるはずです(おそらく?):

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

ありがとう、ブレンダン・アベル!これは完全に機能しました。 –

関連する問題