如何调整QInputDialog大小,PyQt

4 投票
3 回答
12867 浏览
提问于 2025-04-15 20:28

我正在用这个代码获取输入

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

不过我想把对话框做得更大,我试过一些方法,比如

QtGui.QInputDialog.resize(400, 400)

但是它提示“第一个参数必须是QWidget类”,我不太明白这是什么意思,也不知道该怎么解决。谢谢。

3 个回答

2

我也遇到过同样的问题。主要是窗口的宽度太窄了,导致文本输入框变得很小。最后我在标签参数的文本后面加了很多空格,这样就解决了我的问题。

4

这个错误的意思是你没有用一个实例去调用一个实例方法。

QtGui.QInputDialog.getText() 是一个静态方法,它不会给你返回一个 QWidget 的实例,所以你不能在它上面调用 resize()

如果你想调用 resize(),你需要自己创建一个 QWidget(或者 QDialog)。

17

这样做是可以实现的:

dlg =  QtGui.QInputDialog(self)                 
dlg.setInputMode( QtGui.QInputDialog.TextInput) 
dlg.setLabelText("URL:")                        
dlg.resize(500,100)                             
ok = dlg.exec_()                                
url = dlg.textValue()

撰写回答