2013-07-31 3 views
0

Я хочу создать простой интерфейс, чтобы пользователь мог ввести целое число и строковый параметр. Я надеялся использовать что-то так же просто, как QInputDialog(), но насколько я могу судить, работает только с 1 параметром.Пользовательский интерфейс Python для ввода двух параметров

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

whynot просто получает строковый ввод от пользователя, который, например, '' 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

или просто создайте новый диалог с двумя полями. –

+0

Вот что он сказал, что пытался избежать. – kindall

Смежные вопросы