用PySide分割GUI屏幕的最有效方法?

0 投票
1 回答
630 浏览
提问于 2025-04-18 06:31

我正在写一个PySide应用程序,这个程序有一个适合触摸屏的界面。它的主窗口占据了屏幕的75%,而有一个25%的垂直面板,面板上有一些按钮,用来控制主窗口中显示的内容(主窗口上应该会出现几个不同的界面/小部件)。

我看到有几种不同的方法可以实现这种“分割”:QFrame、QStackedLayout、QStackedWidget。作为一个PySide/Qt的新手,我还没搞清楚哪种方法最适合我的具体情况。有没有什么建议或者示例应用程序可以参考?

1 个回答

4

在这个例子中,我们使用了一个叫做QFrame的框架,并且在里面放了一个垂直布局(QVBoxLayout)。同时,我们还设置了一个叫做“拉伸因子”的东西,这个因子可以帮助我们控制里面的元素在空间中占据的比例。

MainWidget main = new MainWidget();
ButtonWidget buttons = new ButtonWidget();

QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(buttons);
layout->addWidget(main);
layout->setStretch(0,25);
layout->setStretch(1,75);

form->setLayout(layout);

撰写回答