QT学习(三)
2021/10/13 23:14:16
本文主要是介绍QT学习(三),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
GUI-布局管理器
Qt 提供两种组件定位机制:绝对定位和布局定位。
(1)绝对定位是一种最原始的定位方法:给出这个组件的坐标和长宽值。但如果用户改变了窗口大小,比如点击最大化按钮或者使用鼠标拖动窗口边缘,采用绝对定位的组件是不会有任何响应的。
(2)布局定位,把组件放入某一种布局,布局由专门的布局管理器进行管理。当需要调整大小或者位置的时候,Qt 使用对应的布局管理器进行调整。
Qt 提供了几种布局管理器供我们选择:
QHBoxLayout
:按照水平方向从左到右布局;QVBoxLayout
:按照竖直方向从上到下布局;QGridLayout
:在一个网格中进行布局,类似于 HTML 的 table;QFormLayout
:按照表格布局,每一行前面是一段文本,文本后面跟随一个组件(通常是输入框),类似 HTML 的 form;QStackedLayout
:层叠的布局,允许我们将几个组件按照 Z 轴方向堆叠,可以形成向导那种一页一页的效果。
简用代码:
int main(int argc, char *argv[]) { QApplication a(argc, argv); QWidget window; window.setWindowTitle("输入年龄"); QSpinBox *spinbox=new QSpinBox(&window); QSlider *slider=new QSlider(Qt::Horizontal,&window); spinbox->setRange(0,130); slider->setRange(0,130); QObject::connect(slider, &QSlider::valueChanged, spinbox, &QSpinBox::setValue); void (QSpinBox:: *spinBoxSignal)(int) = &QSpinBox::valueChanged; QObject::connect(spinbox, spinBoxSignal, slider, &QSlider::setValue); spinbox->setValue(35); QHBoxLayout *layout = new QHBoxLayout; layout->addWidget(spinbox); layout->addWidget(slider); window.setLayout(layout); window.show(); return a.exec(); }
运行结果:
学习来自:
Qt 学习之路 2(11):布局管理器 - DevBean Tech Worldhttps://www.devbean.net/2012/09/qt-study-road-2-layout/
这篇关于QT学习(三)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-02springboot项目无法注册到nacos-icode9专业技术文章分享
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)