QT基础代码注释:
QT += core gui
# QT工程所需要的类和库,core是核心库,gui是图形化界面相关的类库
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
# 版本超过4.0,会加上widgets
CONFIG += c++11
# 该编译器支持C++11后的版本
# 管理源文件
SOURCES += \
main.cpp \
mywindow.cpp
# 管理头文件
HEADERS += \
mywindow.h
# 管理ui文件
FORMS += \
mywindow.ui
#define MYWINDOW_H //防止头文件重复包含
#include <QWidget> //QWidget类所在的头文件,父类头文件
QT_BEGIN_NAMESPACE
namespace Ui { class Mywindow; } //命名空间的声明
QT_END_NAMESPACE
//定义属于自己的类 Mywindow是类名,公共继承自QWidget
class Mywindow : public QWidget
{
Q_OBJECT //信号与槽的元对象
public:
Mywindow(QWidget *parent = nullptr); //构造函数声明,有一个默认参数的形参
~Mywindow(); //析构函数的声明
private:
Ui::Mywindow *ui; //后期可以通过ui指针找到ui界面上拖拽出来的组件
};
#endif // MYWINDOW_H
#include "mywindow.h" //图形化界面的头文件
#include <QApplication> //应用程序的头文件
int main(int argc, char *argv[])
{
QApplication a(argc, argv); //实例化一个应用程序的对象,调用的是有参构造
Mywindow w; //在栈区实例化自定义类的对象
w.show(); //调用show函数,展示图形化界面,该函数是父类提供的,直接用即可
return a.exec(); //为了阻塞界面不被关闭,等待相关事情发生
//等待信号与槽、事件处理、等待用户操作
}
#include "mywindow.h" //图形化界面的头文件
#include <QApplication> //应用程序的头文件
int main(int argc, char *argv[])
{
QApplication a(argc, argv); //实例化一个应用程序的对象,调用的是有参构造
Mywindow w; //在栈区实例化自定义类的对象
w.show(); //调用show函数,展示图形化界面,该函数是父类提供的,直接用即可
return a.exec(); //为了阻塞界面不被关闭,等待相关事情发生
//等待信号与槽、事件处理、等待用户操作
}
登录界面制作:
代码
#include "widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
this->setFixedSize(540, 420);
this->setWindowIcon(QIcon("B:/Users/12898/OneDrive/桌面/icon/wodepeizhenshi.png"));
qDebug() << this->windowTitle();
this->setWindowTitle("yys");
qDebug() << this->windowTitle();
movie = new QMovie;
movie->setFileName("B:/Users/12898/OneDrive/桌面/icon/2.gif");
QLabel *lab_logo = new QLabel(this);
lab_logo->resize(540, 140);
//lab_logo->setPixmap(QPixmap("B:/Users/12898/OneDrive/桌面/icon/logo.png"));
lab_logo->setMovie(movie);
lab_logo->setScaledContents(true);
movie->start();
QLabel *lab_usr = new QLabel(this);
lab_usr->resize(40, 40);
lab_usr->setPixmap(QPixmap("B:/Users/12898/OneDrive/桌面/icon/userName.jpg"));
lab_usr->setScaledContents(true);
lab_usr->move(120, 180);
QLabel *lab_pwd = new QLabel(this);
lab_pwd->resize(40, 40);
lab_pwd->setPixmap(QPixmap("B:/Users/12898/OneDrive/桌面/icon/passwd.jpg"));
lab_pwd->setScaledContents(true);
lab_pwd->move(lab_usr->x(), lab_usr->y() + 75);
QLineEdit *edit_usr = new QLineEdit(this);
//edit1->setText("请输入。。。"); //设置编辑器中的文本内容
edit_usr->setPlaceholderText("QQ/手机/邮箱"); //设置编辑器的占位文本
edit_usr->resize(200, 40); //设置尺寸
edit_usr->move(lab_usr->x() + 80, lab_usr->y()); //移动位置
QLineEdit *edit_pwd = new QLineEdit(this);
//edit1->setText("请输入。。。"); //设置编辑器中的文本内容
edit_pwd->setPlaceholderText("密码"); //设置编辑器的占位文本
edit_pwd->resize(200, 40); //设置尺寸
edit_pwd->move(lab_pwd->x() + 80, lab_pwd->y()); //移动位置
edit_pwd->setEchoMode(QLineEdit::Password); //设置回显模式,密文
QPushButton *btn_login = new QPushButton(this); //将当前界面设置成父组件
btn_login->resize(80, 40);
btn_login->setIcon(QIcon("B:/Users/12898/OneDrive/桌面/icon/login.png"));
btn_login->setText("登录");
btn_login->move(edit_pwd->x() + 80, edit_pwd->y() + 80);
QPushButton *btn_cancel = new QPushButton(this); //将当前界面设置成父组件
btn_cancel->resize(80, 40);
btn_cancel->setIcon(QIcon("B:/Users/12898/OneDrive/桌面/icon/cancel.png"));
btn_cancel->setText("取消");
btn_cancel->move(btn_login->x() + 120, btn_login->y());
QComboBox *combox = new QComboBox(this);
combox->addItem("1");
combox->resize(80, 40);
combox->move(btn_login->x() - 120, btn_login->y());
}
Widget::~Widget()
{
}
结果
思维导图