如何自动调整取决于它的一个孩子的文本长度QDialog的大小?
题
我有一个QDialog
我的工作。它是由有点像QMessageBox
。我注意到QMessageBox
的大小(和它的标签的尺寸)取决于上显示的信息的大小。
我将如何让我的QDialog
的大小自动调整像QMessageBox
?目前我QDialog
包含一个按钮框和一个标签,并且QDialog
是布局垂直。
(我知道我可以只直接使用消息框,但最终我将有更多的复杂的对话。)
解决方案
自动溶液:
使用的布局和大小设置政策 QSizePolicy::Expanding
一>。在QtDesigner,一旦所有的孩子都放在你了QDialog,然后点击调整大小的按钮旁边的布局的。您的QDialog的将在运行时自动调整大小。
手册溶液:
在QWidget
类有一个方法 adjustSize
那调整QWidget的,以适应其内容。只是把它当所有的孩子都设置。
其他提示
设置对话框要扩大,和非常小的。然后,请务必显示对话框之前设置你的消息。当所示,它会尝试找到其合适的大小,根据其包含的对象的大小。 (这种情况递归,所以如果对话框没有你显示你的消息,使标签与对话之间确保一切都被设置为使用布局标签的直接父。)
不隶属于 StackOverflow