Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt 如何制作不同大小的QStackedWidget的不同页面?_Qt_Pyqt_Qstackedwidget - Fatal编程技术网

Qt 如何制作不同大小的QStackedWidget的不同页面?

Qt 如何制作不同大小的QStackedWidget的不同页面?,qt,pyqt,qstackedwidget,Qt,Pyqt,Qstackedwidget,我有一个有两页的QStackWidget。一个页面只包含2个QLineEdit小部件,另一个页面包含一个大型qtexedit。有没有人知道如何使一个页面比另一个页面大,从而使窗口仍然适合每个页面?在Qt设计器中,QStackWidget必须采用更大的大小,以便首先使用QTextEdit,但是带有QLineEditwidget的页面会太大 谢谢您可以将显示页面的大小策略设置为QSizePolicy.Preferred,将其他设置为QSizePolicy.Ignored。然后调用adjustSize

我有一个有两页的
QStackWidget
。一个页面只包含2个
QLineEdit
小部件,另一个页面包含一个大型
qtexedit
。有没有人知道如何使一个页面比另一个页面大,从而使窗口仍然适合每个页面?在Qt设计器中,
QStackWidget
必须采用更大的大小,以便首先使用
QTextEdit
,但是带有
QLineEdit
widget的页面会太大


谢谢

您可以将显示页面的大小策略设置为
QSizePolicy.Preferred
,将其他设置为
QSizePolicy.Ignored
。然后调用
adjustSize
更新尺寸。例如,当您将当前索引设置为显示
page1

page1.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred)
page2.setSizePolicy(QSizePolicy.Ignored, QSizePolicy.Ignored)

stackedWidget.adjustSize()
adjustSize()

当显示另一个页面时,以另一种方式设置大小策略。

但是,堆叠的小部件如何获得较小或较大页面的大小?如果我对页面使用
QWidget
sizehint()
返回-1-1try
resize(minimumSizeHint())。这会把它缩小到最小尺寸。对。如果我打印
page1.minimumSizeHint()
(同样对于
page2
),我会得到
QSize(-1,-1)
。页面应该是类
QWidget
?它可以是任何小部件。只是应该从
QWidget
派生。