8月30日 QT DAY 1

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()
{
}

结果

 思维导图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值