本节课程主要学习了 Qt 框架的基本知识,掌握了 Qt 的常用控件和布局方式。我们学习了如何使用 Qt 界面类创建层叠,使用 QSplitter 进行分割,使用 QListWidget 进行左侧菜单的创建,并使用 QStackedWidget 进行右侧内容的切换。同时,我们还了解了如何使用信号与槽进行控件之间的交互,以及如何将控件添加到布局中进行管理。

在本节课程中,我深刻认识到了 Qt 框架的强大之处。通过 Qt 框架,我们可以快速地创建出美观、实用的界面,并且可以方便地进行控件之间的交互,大大提高了开发效率。同时,Qt 还提供了丰富的文档和示例,让我们更加容易地学习和使用。

通过本次课程,我不仅学习了 Qt 框架的基本知识,还学会了如何使用 Qt 进行界面开发。这对我今后的学习和工作都有很大的帮助。我相信,在未来的学习和工作中,我会继续深入学习 Qt 框架,掌握更多的技能,为自己的事业打下坚实的基础。

代码示例

#include "widget.h"
#include <QApplication>
#include <QSplitter>
#include <QListWidget>
#include <QLayout>
#include <QStackedWidget>
#include <QPushButton>
#include "form1.h"
#include "form2.h"
#include "form3.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QSplitter *a1 = new QSplitter(Qt::Horizontal);//主分割水平
    QListWidget *b = new QListWidget(a1);//左侧
    b->addItem('三角形的面积计算');
    b->addItem('矩形的面积计算');
    b->addItem('圆的面积计算');
    //创建右侧
    QWidget *p = new QWidget(a1);
    QVBoxLayout *c = new QVBoxLayout(p);
    QStackedWidget *c1 = new QStackedWidget;
    //水平布局
    QHBoxLayout *h = new QHBoxLayout;
    //QPushButton *ps = new QPushButton("修改");
    QPushButton *ps1 = new QPushButton('关闭');
    //QObject::connect(ps1, &QPushButton::clicked, &w, &QWidget::close);
    QObject::connect(ps1, &QPushButton::clicked, &a, &QApplication::quit);

    //h->addWidget(ps);
    h->addWidget(ps1);
    h->setAlignment(Qt::AlignRight);
    //把右侧的放入垂直
    c->addWidget(c1);
    c->addLayout(h);
    //w.show();
    //使用Qt界面类创建层叠
    Form1 *d = new Form1;
    Form2 *d1 = new Form2;
    Form3 *d2 = new Form3;
    c1->addWidget(d);//加入层叠
    c1->addWidget(d1);
    c1->addWidget(d2);
    QObject::connect(b, &QListWidget::currentRowChanged, c1, &QStackedWidget::setCurrentIndex);
    a1->show();
    return a.exec();
}

总结

本节课程通过一个简单的示例,演示了如何使用 Qt 创建一个层叠式窗口,并介绍了 Qt 框架中一些常用的控件和布局方式。相信通过学习本课程,你已经掌握了 Qt 界面开发的基础知识,能够独立完成一些简单的界面开发任务。

下一步学习

如果你想要更深入地学习 Qt 框架,可以参考 Qt 官方文档,学习更多高级的控件和布局方式,以及 Qt 的信号与槽机制等内容。

Qt 界面开发入门:使用 Qt 创建层叠式窗口

原文地址: https://www.cveoy.top/t/topic/ox2K 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录