【Python-GUI开发】三 多窗口跳转(同一界面下,非弹新窗口):高级界面布局工具QStackedWidget、QTabWidget

目录

一、QStackedWidget

二、QTabWidget

 三、QStackedWidget、QTabWidget可以相互嵌套使用,效果奇佳


原始目的是为了实现同一主界面下多个tab页可以多窗口切换

最开始试的方式是隐藏主窗口,再弹出子窗口。这种方式可用,但是体验比较差,每一次切换都会出现一关一开的闪动的效果,希望是类似网易音乐这种左边/上边是页签,右下方是窗口显示,点击不同页签,就可以对应完全不同的界面,操作舒适直观。

经过摸索,发现当前最佳的方式就是配合使用Stacked Widget和Tab Widget,简直爽翻天,一个界面下就可以直接编辑多个窗口,完美。

【Python-GUI开发】三 多窗口跳转(同一界面下,非弹新窗口):高级界面布局工具QStackedWidget、QTabWidget_第1张图片

一、QStackedWidget

堆载窗口控件

超级好用的界面布局利器,不过网上资料极少,但是不影响实际使用,因为确实很简单。

在Qt Designer中新建一个主窗口,然后再组件栏中将QStackedWidget控件拖过去,显示如下

【Python-GUI开发】三 多窗口跳转(同一界面下,非弹新窗口):高级界面布局工具QStackedWidget、QTabWidget_第2张图片

右上角的小箭头可以左右切换不同的page,可以直接拉控件到每个page上,或不干扰,切换下一个又是全新的page,不用担心组件重叠的问题。 

鼠标右击,可以添加一个新的page

【Python-GUI开发】三 多窗口跳转(同一界面下,非弹新窗口):高级界面布局工具QStackedWidget、QTabWidget_第3张图片

 在Object Inspector中可以清晰看到每一个page,在下方的Property Editor中可以直接对属性进行编辑

【Python-GUI开发】三 多窗口跳转(同一界面下,非弹新窗口):高级界面布局工具QStackedWidget、QTabWidget_第4张图片

二、QTabWidget

QTabWidget是很好用的页签容器,

  • 在容器边缘默认带有页签,同样,可以右击添加新页签
  • 每一个页签Page都是独立的,切换后不会相互影响

【Python-GUI开发】三 多窗口跳转(同一界面下,非弹新窗口):高级界面布局工具QStackedWidget、QTabWidget_第5张图片

  • 有些小伙伴对页签的位置有要求,希望页签放置在左侧,可以在Property Editor中的QTabWidget属性中进行修改,上下左右都能放 

【Python-GUI开发】三 多窗口跳转(同一界面下,非弹新窗口):高级界面布局工具QStackedWidget、QTabWidget_第6张图片

 

 三、QStackedWidget、QTabWidget可以相互嵌套使用,效果奇佳

你可能感兴趣的:(python)