How to resize QInputDialog, PyQt
Solution 1
it is possible by doing this:
dlg = QtGui.QInputDialog(self)
dlg.setInputMode( QtGui.QInputDialog.TextInput)
dlg.setLabelText("URL:")
dlg.resize(500,100)
ok = dlg.exec_()
url = dlg.textValue()
Solution 2
That error implies that you're not calling an instance method with an instance.
QtGui.QInputDialog.getText()
is a static method and doesn't return you a QWidget
instance, so you can't call resize()
on it.
If you want to call resize()
, you need to create your own QWidget
(or QDialog).
Solution 3
I had the same problem. Mainly that the window was too narrow horizontally, making the text edit input field small. I ended up putting lots of whitespace after the text in the label argument. Worked fine for me.
siege
Updated on June 04, 2022Comments
-
siege almost 2 years
I am getting input with this here
areaInput = QtGui.QInputDialog.getText(self, "Copy Area", "New Area Name:", 0)
However I would like to make the dialog box larger, I've tried things such as
QtGui.QInputDialog.resize(400, 400)
However it says "the first argument must be a QWidget class" and I'm not quite sure what this means or how to fix it. Thanks.
-
siege about 14 yearsOk thanks, so there is no way to resize the little pop up with just simple one line of code?
-
Kaleb Pederson about 14 yearsNo. But, it would be an interesting exercise to see if you could get a hold of the dialog through the parent's
findChildren<T>()
method (I'm not sure what the PyQt equivalent might be) and on which you might be able to call resize. But sincegetText()
is a blocking call and you would need to callresize()
from the GUI thread, it certainly won't be trivial. -
ninhenzo64 over 7 yearsWhy is this not the top answer?