Как изменить размер QInputDialog, PyQt - PullRequest
2 голосов
/ 16 марта 2010

Я получаю ввод с этим здесь

areaInput = QtGui.QInputDialog.getText(self, "Copy Area", "New Area Name:", 0)

Однако я хотел бы увеличить диалоговое окно, я пробовал такие вещи, как

QtGui.QInputDialog.resize(400, 400)

Однако там написано, что «первым аргументом должен быть класс QWidget», и я не совсем уверен, что это значит или как это исправить. Спасибо.

Ответы [ 3 ]

10 голосов
/ 03 августа 2012

это возможно сделать так:

dlg =  QtGui.QInputDialog(self)                 
dlg.setInputMode( QtGui.QInputDialog.TextInput) 
dlg.setLabelText("URL:")                        
dlg.resize(500,100)                             
ok = dlg.exec_()                                
url = dlg.textValue()
4 голосов
/ 16 марта 2010

Эта ошибка означает, что вы не вызываете метод экземпляра с экземпляром.

QtGui.QInputDialog.getText() является статическим методом и не возвращает вам экземпляр QWidget, поэтому вы не можете вызвать resize() для него.

Если вы хотите позвонить resize(), вам нужно создать свой собственный QWidget (или QDialog).

2 голосов
/ 13 марта 2012

У меня была такая же проблема. Главным образом, чтобы окно было слишком узким по горизонтали, что делало поле ввода для редактирования текста небольшим. Я поставил много пробелов после текста в аргументе метки. Работал нормально для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...