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

QTday1基础

作业

一、做个QT页面

#include "hqyj.h"HQYJ::HQYJ(QWidget *parent)//构造函数定义: QWidget(parent)//显性调用父类的有参构造
{//主界面设置this->resize(540,410);//设置大小this->setFixedSize(540,410);//设置固定大小this->setWindowIcon(QIcon("C:\\Users\\asus\\Documents\\Tencent Files\\2088219652\\FileRecv\\icon\\wodepeizhenshi"));//设置主界面左上角图标this->setWindowTitle("阿瑞乱聊");//设置主界面名称//主页标签QLabel *lab1 = new QLabel(this);//账号QLabel *lab2 = new QLabel(this);//密码QLabel *lab3 = new QLabel(this);//大图//设置账号标签属性lab1->resize(50,50);//设置大小lab1->move(100,200);//设置位置lab1->setPixmap(QPixmap("C:\\Users\\asus\\Documents\\Tencent Files\\2088219652\\FileRecv\\icon\\userName"));//设置图标lab1->setScaledContents(true);//设置自适应//设置密码标签属性lab2->resize(lab1->size());//设置大小lab2->move(lab1->x(),lab1->y()+70);//设置位置lab2->setPixmap(QPixmap("C:\\Users\\asus\\Documents\\Tencent Files\\2088219652\\FileRecv\\icon\\passwd"));//设置图标lab2->setScaledContents(true);//设置自适应//设置主页图片标签属性lab3->resize(520,190);//设置大小lab3->move(10,0);//设置位置lab3->setPixmap(QPixmap("C:\\Users\\asus\\Documents\\Tencent Files\\2088219652\\FileRecv\\icon\\logo"));/设置图标lab3->setScaledContents(true);//设置自适应//主页行编辑器QLineEdit *edit1 = new QLineEdit(this);//账号行编辑器QLineEdit *edit2 = new QLineEdit(this);//密码行编辑器edit1->setPlaceholderText("QQ号/手机/邮箱");//设置账号默认占位edit2->setPlaceholderText("密码");//设置密码默认占位edit1->resize(300,50);//设置大小edit2->resize(edit1->size());//设置大小edit1->move(lab1->x()+60,lab1->y());//设置位置edit2->move(lab2->x()+60,lab2->y());//设置位置edit2->setEchoMode(QLineEdit::Password);//设置回显模式//主页按键QPushButton *bnt1 = new QPushButton(QIcon("C:\\Users\\asus\\Documents\\Tencent Files\\2088219652\\FileRecv\\icon\\login"),"登录",this);//用图片,文本,父组件实例化登录按键QPushButton *bnt2 = new QPushButton(QIcon("C:\\Users\\asus\\Documents\\Tencent Files\\2088219652\\FileRecv\\icon\\cancel"),"取消",this);//用图片,文本,父组件实例化取消按键bnt1->resize(70,50);//设置大小bnt2->resize(bnt1->size());//设置大小bnt1->move(edit2->x()+40,edit2->y()+70);//设置位置bnt2->move(bnt1->x()+90,bnt1->y());//设置位置}HQYJ::~HQYJ()//析构函数定义
{
}

 二、QT工程默认创建各行意思

.pro

QT       += core gui
#QT工程需要的类库,core时核心库,gui是图形化界面相关类库
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
#版本超过4.0会加上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 \mywnd.cpp
#管理头文件
HEADERS += \mywnd.h
#管理ui文件
FORMS += \mywnd.ui# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

 头文件

//防止文件重复包含
#ifndef MYWND_H
#define MYWND_H#include <QWidget>//QWidget类所在的头文件//ui文件中命名空间声明
QT_BEGIN_NAMESPACE
namespace Ui { class MyWnd; }
QT_END_NAMESPACE//自己的公共继承于QWidget类的类对象
class MyWnd : public QWidget
{Q_OBJECT//信号与槽的元对象public:MyWnd(QWidget *parent = nullptr);//构造函数声明,带一个默认参数~MyWnd();//析构函数声明private:Ui::MyWnd *ui;//指向ui文件的指针,可以通过它调用ui文件里的代码
};
#endif // MYWND_H

主程序

#include "mywnd.h"//图形化界面的头文件#include <QApplication>//应用程序的头文件int main(int argc, char *argv[])
{QApplication a(argc, argv);//应用程序实例化,用有参构造MyWnd w;//自定义类的对象在栈区实例化w.show();//调用show函数,展示图形化界面return a.exec();//阻塞,等待信号与槽、事件处理、等待用户操作
}

.源文件

#include "mywnd.h"//图形化界面的头文件
#include "ui_mywnd.h"//ui界面的头文件MyWnd::MyWnd(QWidget *parent)//自定义的类的构造函数的定义: QWidget(parent)//显性调用父类的有参构造, ui(new Ui::MyWnd)//给类中ui指针开辟空间
{ui->setupUi(this);//将指针的父组件设为本类表示的组件//给拖出来的组件实例化空间
}MyWnd::~MyWnd()//析构函数的定义
{delete ui;//回收ui指针空间
}

思维导图

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

相关文章:

  • activiti 通过xml上传 直接部署模型
  • 算法题打卡day56-编辑距离 | 583. 两个字符串的删除操作、72. 编辑距离
  • SQL中的CASE WHEN语句:从基础到高级应用指南
  • 超时取消子线程任务
  • 模块化---common.js
  • VSCode下载、安装及配置、调试的一些过程理解
  • KC705开发板——MGT IBERT测试记录
  • 前端代码优化散记
  • HTML <map> 标签的使用
  • stable diffusion实践操作-大模型介绍
  • W5500-EVB-PICO进行MQTT连接订阅发布教程(十二)
  • 90、00后严选出的数据可视化工具:奥威BI工具
  • 删除maven中出现.lastUpdate结尾的文件
  • Cannot assign to read only property ‘exports‘ of object ‘#<Object>‘
  • Dockerfile中编译、打包、部署spring boot项目
  • 微型计算机原理知识点总结(一)
  • 【postgresql 基础入门】psql客户端的使用方法
  • QTcpSocket发送数据方法
  • select 语句执行顺序
  • PMD 检查java代码:避免将内部数组直接返回给调用者(MethodReturnsInternalArray)
  • ActiveMQ配置初探
  • 【官方中文文档】Mybatis-Spring #示例代码
  • python二级例题
  • 【java】【项目实战】[外卖九]项目优化(缓存)
  • Scala集合常用函数与集合计算简单函数,高级计算函数Map和Reduce等
  • You must install at least one postgresql-client-<version> package
  • 爬虫源码---爬取自己想要看的小说
  • 【AGC】云数据库API9开发问题汇总
  • ASP.NET Core IOC容器
  • 入门力扣自学笔记277 C++ (题目编号:42)(动态规划)