31 lines
1.6 KiB
Markdown
31 lines
1.6 KiB
Markdown
|
# 多页面
|
|||
|
|
|||
|
## [1、QScrollArea](QScrollArea/)
|
|||
|
|
|||
|
[1、仿QQ设置面板](QScrollArea/仿QQ设置面板)
|
|||
|
|
|||
|
1. 左侧为`QListWidget`,右侧使用`QScrollArea`设置`QVBoxLayout`,然后依次往里面添加QWidget
|
|||
|
2. 右侧添加`QWidget`的时候有两种方案
|
|||
|
1. 左侧list根据序号来索引,右侧添加widget时给定带序号的变量名,如widget_0,widget_1,widget_2之类的,这样可以直接根据`QListWidget`的序号关联起来
|
|||
|
2. 左侧list添加item时给定右侧对应的widget变量值
|
|||
|
|
|||
|
相关事件:
|
|||
|
1. 绑定左侧`QListWidget`的`itemClicked`的到该item的索引
|
|||
|
2. 绑定右侧滚动条的`valueChanged`事件得到pos
|
|||
|
|
|||
|
注意:当`itemClicked`时定位滚动条的值时,需要设置一个标志位用来避免`valueChanged`重复调用item的定位
|
|||
|
|
|||
|
![截图](QScrollArea/仿QQ设置面板/ScreenShot/仿QQ设置面板.gif)
|
|||
|
|
|||
|
## [2、QStackedWidget](QStackedWidget/)
|
|||
|
|
|||
|
[1、左侧选项卡](QStackedWidget/左侧选项卡)
|
|||
|
|
|||
|
本来使用QTabWidget可以实现多标签页面,但是当标签在左侧时会出现文字方向不对的问题,可以通过自定义`QTabBar`来解决,也可以采用QListWidget结合QStackedWidget的方式。
|
|||
|
|
|||
|
1. 左侧为`QListWidget`,右侧使用`QStackedWidget`,然后依次往里面添加QWidget
|
|||
|
2. 右侧添加`QWidget`的时候有两种方案
|
|||
|
1. 左侧list根据序号来索引,右侧添加widget时给定带序号的变量名,如widget_0,widget_1,widget_2之类的,这样可以直接根据`QListWidget`的序号关联起来
|
|||
|
2. 左侧list添加item时给定右侧对应的widget变量值
|
|||
|
|
|||
|
![截图](QStackedWidget/左侧选项卡/ScreenShot/左侧选项卡.gif)
|