当前位置: 首页 > news >正文

QT day01

自定义实现登录界面:

#include "widget.h"
#include "ui_widget.h"
#include<QPushButton>
#include<QLineEdit>
#include<QLabel>Widget::Widget(QWidget *parent) //定义有参构造函数: QWidget(parent), ui(new Ui::Widget)        //给自己类中的指针实例化空间
{//ui->setupUi(this);        //将ui界面上拖拽的组件展示到this界面上//按钮组件this->setWindowTitle("QQ登录");this->resize(520,520);this->setStyleSheet("background-color:lightblue");QPushButton *btn1 = new QPushButton;btn1->setParent(this);btn1->setText("登录");btn1->resize(60,40);btn1->move(150,300);btn1->setStyleSheet("background-color:lightgreen");QPushButton *btn2 = new QPushButton(this);btn2->setText("注册");btn2->resize(btn1->size());btn2->move(300,300);btn2->setStyleSheet("background-color:lightgreen");//行编辑器QLineEdit *edit1 = new QLineEdit;edit1->setParent(this);edit1->resize(250,30);edit1->move(150,150);edit1->setPlaceholderText("账号");edit1->setEchoMode(QLineEdit::Password);QLineEdit *edit2 = new QLineEdit(this);edit2->resize(edit1->size());edit2->move(150,200);edit2->setPlaceholderText("密码");edit2->setEchoMode(QLineEdit::Password);//创建标签QLabel *lab1 = new QLabel;lab1->setParent(this);lab1->setText("账号:");lab1->move(edit1->x()-60,edit1->y());QLabel *lab2 = new QLabel("密码:",this);lab2->move(edit2->x()-60,edit2->y());}Widget::~Widget()               //定义析构函数
{delete ui;                  //释放ui界面组件的空间
}

效果图:

02Demo.pro

#QT:引入的类库  core:核心库  gui:图形化界面库
QT       += core gui
#当QT超过版本4时会自动加上widgets
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
#支持C++11新特性
CONFIG += 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

widgets.h

#ifndef WIDGET_H                
#define WIDGET_H        //防止头文件重复包含#include <QWidget>
QT_BEGIN_NAMESPACEnamespace 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();    //使用应用程序类对象并调用成员函数保证页面不被关闭
}

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界面组件的空间
}

http://www.lryc.cn/news/448526.html

相关文章:

  • 如何从飞机、电报中提取数据
  • 【算法篇】二叉树类(2)(笔记)
  • Flask学习之项目搭建
  • **CentOS7安装Maven**
  • (undone) MIT6.824 Lecture1 笔记
  • 小白投资理财 - 开篇
  • 高中还来得及选择信息学奥赛赛道吗?
  • 01_OpenCV图片读取与展示
  • C语言中的输入控制重要基础
  • Vue 学习
  • Redis集群的两种方式
  • QT--基础
  • 一、前后端分离及drf的概念
  • AI垃圾溢出识别摄像机
  • 【抽代复习笔记】29-群(二十三):生成子群的两道例题及子群陪集的定义
  • 安全防护装备检测系统源码分享
  • easyexcel常见问题分析
  • 精通推荐算法31:行为序列建模之ETA — 基于SimHash实现检索索引在线化
  • Python知识点:如何使用Python进行卫星数据分析
  • Python实现Phong着色模型算法
  • 异步框架 fastapi -- 连接mysql数据库
  • Spring 全家桶使用教程 —— 后端开发从入门到精通
  • AI动漫转真人终极教程!3步做出爆款内容,音乐推广号变现
  • vue2 vconsole有助于移动端开发页面调试
  • 别再使用[]来获取字典的值了,来尝试一下这些方法
  • 如果你不愿意冒一切风险,就不要成为创业者:如何建立一个年收入 1800 万美元的支付业务
  • 4.浮点数二分【求数的平方根】
  • 简站wordpress主题产品多图ACF插件设置方法
  • USB设备在Linux系统中的识别和加载过程
  • nacos通过@Value动态刷新配置