QT布局:QVBoxLayout/QHBoxLayout[通俗易懂]

QT布局:QVBoxLayout/QHBoxLayout[通俗易懂]关系图垂直布局:QVBoxLayout 先来一两代码:QWidget*widget=newQWidget();QVBoxLayout*vBoxLayout=newQVBoxLayout();QLabel*label=newQLabel(“hello”);QPushButton*pushButton=newQPushButton(“hi”);vBoxLayout->addWidget(label);vBoxLayout->addWid…

大家好,又见面了,我是你们的朋友全栈君。

QT布局:QVBoxLayout/QHBoxLayout[通俗易懂]

关系图

  • 垂直布局:QVBoxLayout
    先来一两代码:

 

QWidget *widget = new QWidget();
QVBoxLayout * vBoxLayout = new QVBoxLayout();
QLabel *label = new QLabel("hello");
QPushButton *pushButton = new QPushButton("hi");
vBoxLayout->addWidget(label);
vBoxLayout->addWidget(pushButton);
widget->setLayout(vBoxLayout);
widget->show();

效果:

 

QT布局:QVBoxLayout/QHBoxLayout[通俗易懂]

QVBoxLayout

  • 水平布局:QHBoxLayout
    一样:

 

QWidget *widget = new QWidget();
QHBoxLayout * hBoxLayout = new QHBoxLayout();
QLabel *label = new QLabel("hello");
QPushButton *pushButton = new QPushButton("hi");
hBoxLayout->addWidget(label);
hBoxLayout->addWidget(pushButton);
widget->setLayout(hBoxLayout);
widget->show();

QT布局:QVBoxLayout/QHBoxLayout[通俗易懂]

QHBoxLayout

  • QHBoxLayout嵌套QVBoxLayout

 

QWidget *widget = new QWidget();
QHBoxLayout * hBoxLayout = new QHBoxLayout();
QVBoxLayout * vBoxLayout = new QVBoxLayout();
QLabel *label_text = new QLabel("Chengdu 1 – 3 Day Weather Forecast Summary");
QLabel *label_picture = new QLabel();
label_picture->setPixmap(QPixmap(":/weather").scaled(32,32, Qt::KeepAspectRatioByExpanding));
QPushButton *pushButton = new QPushButton("more");
vBoxLayout->addWidget(label_text);
vBoxLayout->addWidget(pushButton);
hBoxLayout->addWidget(label_picture);
hBoxLayout->addLayout(vBoxLayout);
widget->setLayout(hBoxLayout);
widget->show();

QT布局:QVBoxLayout/QHBoxLayout[通俗易懂]

QHBoxLayout嵌套QVBoxLayout

  • 总结
    1.向布局添加一个Widget:
    void QBoxLayout::addWidget(QWidget *widget, int stretch = 0, Qt::Alignment alignment = Qt::Alignment())
    2.向布局再添加一个布局
    void QBoxLayout::addLayout(QLayout *layout, int stretch = 0)�
    3.最后,使用它来确定Widget的布局
    void QWidget::setLayout(QLayout *layout)

作者:静_谷
链接:https://www.jianshu.com/p/938301a4d54e
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151650.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Node.js 安装配置

    Node.js 安装配置

    2021年10月16日
    31
  • 回复有关“清理哲学上的垃圾、雾霾……”的评议

    回复有关“清理哲学上的垃圾、雾霾……”的评议

    2021年12月4日
    45
  • JavaScript数组遍历6 some方法

    JavaScript数组遍历6 some方法上一篇文章我们讲述了every方法,这里我们将会进行讲解some方法和every方法相似some方法也接收2个参数;第一个参数是一个函数第二个参数是一个传入值。其中第一个参数接收3个参数第一个参数是当前值,第二个参数是当前值的索引值,第三个参数是本数组。some方法的使用和every的方法相似但是也有一个返回值,返回当前的数组是否有符合的条件。如果没有返回值,则返回的是undefined。当有一个值满足条件则会停止遍历。下面是使用some方法的例子。<!DOCTYPEhtml><

    2022年10月20日
    2
  • 守护线程和非守护线程_java守护线程的作用

    守护线程和非守护线程_java守护线程的作用Java中有两类线程:UserThread(用户线程)、DaemonThread(守护线程)用户线程即运行在前台的线程,而守护线程是运行在后台的线程。守护线程作用是为其他前台线程的运行提供便利服务,而且仅在普通、非守护线程仍然运行时才需要,比如垃圾回收线程就是一个守护线程。当VM检测仅剩一个守护线程,而用户线程都已经退出运行时,VM就会退出,因为没有如果没有了被守护这,也就没有继续运行程…

    2022年10月15日
    3
  • 杀进程 AIX_进程杀不死

    杀进程 AIX_进程杀不死1. kill-9强制杀进程发现在pl/slq中找到对应的sessionid杀不掉直接记住id登录下linux下kill-9id强杀2. ps-ef|grepjava  在系统所有进程数中用管道符查找包含"java"的进程 3. taillog查看log   ======================在AIX机器…

    2025年9月13日
    5
  • 大数据,云计算和物联网的关系图_大数据和物联网的关系

    大数据,云计算和物联网的关系图_大数据和物联网的关系大数据云计算物联网

    2022年10月7日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号