将默认提供的步调都解释上意义
0101.pro
- QT += core gui
- #QT表示要引入的类库 core:核心库 gui:图形化界面库
- #如果要使用其他库类中的相关函数,则需要加对应的库类后,才能使用
- greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
- #QT超过版本4时,会自动加上widgets
- CONFIG += c++11
- #支持C++11新特性
- # The following define makes your compiler emit warnings if you use
- # any Qt feature that has been marked deprecated (the exact warnings
- # depend on your compiler). Please consult the documentation of the
- # deprecated API in order to know how to port your code away from it.
- DEFINES += QT_DEPRECATED_WARNINGS
- # You can also make your code fail to compile if it uses deprecated APIs.
- # In order to do so, uncomment the following line.
- # You can also select to disable deprecated APIs only up to a certain version of Qt.
- #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
- #实现工程项目的管理
- #管理源文件
- SOURCES += \
- main.cpp \
- widget.cpp
- #管理头文件
- HEADERS += \
- widget.h
- #管理所有ui文件
- FORMS += \
- widget.ui
- # Default rules for deployment.
- qnx: target.path = /tmp/$${TARGET}/bin
- else: unix:!android: target.path = /opt/$${TARGET}/bin
- !isEmpty(target.path): INSTALLS += target
复制代码 widget.h
- #ifndef WIDGET_H
- #define WIDGET_H
- //防止头文件重复包含
- #include <QWidget>
- //ui_mywnd.h中的命名空间的声明
- QT_BEGIN_NAMESPACE
- namespace Ui { class Widget; } //将其他文件中的命名空间进行声明
- QT_END_NAMESPACE
- //自定义的类声明,公共继承自QWidget:QWidget中封装了有关图形化界面的相关操作的具体实现
- //由于继承的是系统提供的类,那么自定义的类中即使没有写任何东西,其类中也有很多成员
- class Widget : public QWidget
- {
- Q_OBJECT //信号与槽的源对象,直接写即可。没有该宏,就不能使用信号与槽
- public:
- Widget(QWidget *parent = nullptr); //构造函数的声明
- ~Widget(); //析构函数的声明,虚析构函数
- private:
- Ui::Widget *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(); //调用对象的成员函数,将界面展示出来
- return a.exec();
- //a.exec():使用应用程序类对象,调用应用程序的成员函数,保证界面不被关闭,轮询等待界面上的事件发生
- //等待用户操作界面上的组件
- //等待界面上的信号与槽的响应
- //等待事件处理机制的实现
- }
复制代码 widget.cpp
- #include "widget.h"
- #include "ui_widget.h"
- //构造函数的定义
- Widget::Widget(QWidget *parent)
- : QWidget(parent) //在子类的初始化列表中显式调用父类的有参构造,来完成对子类从父类继承下来的成员的初始化
- , ui(new Ui::Widget) //给自己的类中的指针成员实例化空间
- {
- ui->setupUi(this); //将ui界面上拖拽的组件展示到this界面上
- }
- //析构函数的定义
- Widget::~Widget()
- {
- delete ui; //释放ui界面申请的组件空间
- }
复制代码 使用代码的情势实现登录框
- #include "code1.h"
- #include<QDebug>
- #include<QIcon>
- #include<QPushButton>
- #include<QLineEdit>
- #include<QLabel>
- code1::code1(QWidget *parent)
- : QWidget(parent)
- {
- this->setWindowTitle("lili's window");
- this->setWindowIcon(QIcon("D:/BaiduNetdiskDownload/qt/yingyong/f54cccba4ab9b9122909fb0e0a4f3d3.jpg"));
- this->setMaximumSize(800,600);
- this->setMinimumSize(400,300);
- this->setFixedSize(500,400);
- //this->resize(800,600);
- //this->set(QIcon("D:/BaiduNetdiskDownload/qt/yingyong/7adcf1a6baf7073e8434ae912bbb52a.png"));
- this->setWindowOpacity(0.9);
- this->move(400,300);
- QPushButton *btn1=new QPushButton(QIcon("D:/BaiduNetdiskDownload/qt/yingyong/12067205a1d2c773274d113ab9594f8.jpg"),"登录",this);
- btn1->resize(60,30);
- btn1->move(150,300);
- btn1->setStyleSheet("color:white;background:pink;border-radius:10px;");
- QPushButton *btn2=new QPushButton("注册",this);
- btn2->resize(btn1->size());
- btn2->move(btn1->x()+btn1->width()+70,btn1->y());
- btn2->setStyleSheet("color:white;background:pink;border-radius:10px;");
- btn2->setIcon(QIcon("D:/BaiduNetdiskDownload/qt/yingyong/1359e195af6400e83b7490ddae6808f.jpg"));
- QLabel *lab1=new QLabel("账号:",this);
- lab1->resize(50,30);
- lab1->move(btn1->x()-60,btn1->y()-90);
- lab1->setStyleSheet("color:pink;");
- QLabel *lab2=new QLabel("密码:",this);
- lab2->resize(50,30);
- lab2->move(btn1->x()-60,lab1->y()+40);
- lab2->setStyleSheet("color:pink;");
- QLineEdit *edit1=new QLineEdit(this);
- edit1->resize(250,30);
- edit1->move(lab1->x()+lab1->width()+10,lab1->y());
- edit1->clear();
- edit1->setStyleSheet("color:pink");
- edit1->setAlignment(Qt::AlignCenter);
- edit1->setPlaceholderText("请输入账号");
- QLineEdit *edit2=new QLineEdit("密码",this);
- edit2->resize(250,30);
- edit2->move(edit1->x(),edit1->y()+40);
- edit2->clear();
- edit2->setStyleSheet("color:pink");
- edit2->setAlignment(Qt::AlignCenter);
- edit2->setPlaceholderText("请输入密码");
- edit2->setEchoMode(QLineEdit::Password);
- QLabel *lab3=new QLabel(this);
- lab3->resize(500,200);
- lab3->setStyleSheet("background:skyblue;");
- //QMovie *movie=new QMovie("");
- //lab3->setScaledContents(true);
- //lab3->setPixmap(QPixmap("D:/BaiduNetdiskDownload/qt/yingyong/218f6c69c7208efb13d66d558999dec.jpg"));
- lab3->setPixmap(QPixmap("D:/BaiduNetdiskDownload/qt/yingyong/7adcf1a6baf7073e8434ae912bbb52a.png"));
- lab3->setScaledContents(true);
- }
- code1::~code1()
- {
- }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |