2013-07-31 33 views
0

我想創建一個簡單的用戶界面,以便用戶可以輸入一個整數和一個字符串參數。我希望能夠使用像QInputDialog()這樣簡單的東西,但據我所知只能使用1個參數。Python用戶界面輸入2個參數

inputDialog = QtGui.QInputDialog() 
myInt, ok = inputDialog.getInt(inputDialog, 'Enter Params', 'Int', 1) 

有一個簡單的方法是這樣的:

inputDialog = QtGui.QInputDialog() 
myInt, myString, ok = inputDialog.getInt(inputDialog, 'Enter Params', 'Int', 1), inputDialog.getText(inputDialog, 'Enter Params', 'Text', 1) 

我開始尋找PyQt的,但似乎只是這麼基本的東西這樣的矯枉過正。

任何幫助,將不勝感激。

+0

只要從用戶那裏得到一個字符串輸入,例如''user_string,5「'並分割它? ...而不是有2個輸入......我認爲如果你真的需要2個輸入 –

回答

0

有沒有標準的Qt對話框與多個領域。你可以做的是按順序使用兩個對話框,或者讓用戶在一個字段中輸入兩個值,然後在代碼中分割它們。例如:

inputDialog = QtGui.QInputDialog() 
myText, ok = inputDialog.getText(inputDialog, 
       'Enter number, a space, then text', 'Data', '') 
if ok: 
    myInt, _, myText = myText.partition(" ") 
    try: 
     myInt = int(myInt) 
    except ValueError: 
     myInt = 0 

儘管如此,從用戶體驗角度來看,這兩者都不是很好。

+0

或者只是創建一個新的2個對話框,你將不得不做出自定義對話框...... –

+0

這就是他所說的他正在試圖避免。 – kindall