qt设计界面

本文介绍了使用Qt库在C++中创建一个名为Widget的自定义窗口,包含了QWidget基类、UI界面设计、组件如按钮、标签和行编辑器的实例化及布局。
摘要由CSDN通过智能技术生成

widget.h

#ifndef WIDGET_H
#define WIDGET_H                             //防止文件重复包含

#include <QWidget>                           //QWidget类所在的头文件,父类头文件
#include<QIcon>
#include<QPushButton>                        //按钮类头文件
#include<QDebug>                             //输出类头文件
#include<QLineEdit>                          //行编辑器头文件
#include<QLabel>                             //标签头文件

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }               //命名空间的声明
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT                                //信号与槽的元对象

public:
    Widget(QWidget *parent = nullptr);      //构造函数的声明,有一个默认参数的形参
    ~Widget();                              //析构函数的声明

private:
    Ui::Widget *ui;                         //后期可以通过ui指针找到ui界面上拖拽出来的组件
};
#endif // WIDGET_H

main.cpp

#include "widget.h"                               //图形化界面的头文件

#include <QApplication>                           //应用程序的头文件


int main(int argc, char *argv[])
{
    QApplication a(argc, argv);                   //实例化一个应用程序的对象
    Widget w;                                     //在栈区实例化自定义类的对象
    w.show();                                     //调用show函数,展示图形化界面,该函数是父类提供的,直接用即可
    return a.exec();                              //为了阻塞界面不被关闭,等待相关事情的发生
                                                  //等待信号与槽,事件处理,等待用户操作

}                                                    

widget.cpp

#include "widget.h"                                                            //自己的头文件 
#include "ui_widget.h"                                                         //ui界面对应的头文件

Widget::Widget(QWidget *parent)                                                //构造函数的定义
    : QWidget(parent)                                                          //显性调用父类的构造函数完成子类从父类继承下来的成员的初始化工作
    , ui(new Ui::Widget)                                                       //对自己类的中的指针成员开辟空间
{
    ui->setupUi(this);                                                         //给拖拽出来的组件实例化空间

    this->setWindowTitle("鹏哥快聊");                                            //设置窗口标题

    this->setWindowIcon(QIcon("D:\\qt5.14\\c\\icon\\wodepeizhenshi.png"));     //设置窗口的图标icon
    this->resize(540,410);                                                     //设置窗口的大小
    this->setFixedSize(540,410);                                               //设置固定尺寸


    QLabel *lab1 = new QLabel(this);                                           //实例化一个标签1
    lab1->resize(540,180);                                                     //设置标签1的大小
    lab1->setPixmap(QPixmap("D:\\qt5.14\\c\\icon\\logo.png"));                 //设置标签1的图标icon
    lab1->setScaledContents(true);                                             //设置内容自适应
    QLabel *lab2 = new QLabel(this);                                           //实例化一个标签2
    lab2->resize(50,35);                                                       //设置标签2的大小
    lab2->move(100,210);                                                       //移动标签2的位置
    lab2->setPixmap(QPixmap("D:\\qt5.14\\c\\icon\\userName.jpg"));             //设置标签2的图标icon
    lab2->setScaledContents(true);                                             //设置内容自适应
    QLabel *lab3 = new QLabel(this);                                           //实例化一个标签3
    lab3->resize(50,35);                                                       //设置标签3的大小
    lab3->move(100,290);                                                       //移动标签3的位置
    lab3->setPixmap(QPixmap("D:\\qt5.14\\c\\icon\\passwd.jpg"));               //设置标签2的图标icon
    lab3->setScaledContents(true);                                             //设置内容自适应

    QLineEdit *edit = new QLineEdit("QQ号码/手机/邮箱",this);                    //实例化一个行编辑器1
    edit->move(200,210);                                                       //移动行编辑器1的位置
    edit->resize(200,35);                                                      //设置行编辑器1的大小
    QLineEdit *edit2 = new QLineEdit("密码",this);
    edit2->move(200,290);                                                      //移动行编辑器2的位置
    edit2->resize(200,35);                                                     //设置行编辑器2的大小
    edit2->setEchoMode(QLineEdit::Password);                                   //设置回显模式

    QPushButton *btn1 = new QPushButton("登录",this);                           //实例化按钮1
    btn1->resize(90,37);                                                       //设置按钮1的大小
    btn1->setIcon(QIcon("D:\\qt5.14\\c\\icon\\login.png"));                    //设置图标
    btn1->move(310,360);                                                       //移动按钮1的位置
    QPushButton *btn2 = new QPushButton("取消",this);
    btn2->resize(90,37);                                                       //设置按钮1的大小
    btn2->setIcon(QIcon("D:\\qt5.14\\c\\icon\\cancel.png"));                   //设置图标
    btn2->move(410,360);                                                       //移动按钮2的位置


}

Widget::~Widget()                                                              //析构函数的定义
{
    delete ui;                                                                 //释放ui指针的内存
}

结果

XMind

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值