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界面组件的空间
}
相关文章:
QT day01
自定义实现登录界面: #include "widget.h" #include "ui_widget.h" #include<QPushButton> #include<QLineEdit> #include<QLabel>Widget::Widget(QWidget *parent) //定义有参构造函数: QWidget(parent), ui(new Ui::Widge…...
如何从飞机、电报中提取数据
电报,通常简称TG,是一个跨平台的即时通讯软件。客户端是开源的,而服务器是专有的。用户可以交换加密的、自毁的信息(类似于“阅读后烧伤”),并共享各种文件,包括照片和视频。它的安全性很高&…...
【算法篇】二叉树类(2)(笔记)
目录 一、Leetcode 题目 1. 左叶子之和 (1)迭代法 (2)递归法 2. 找树左下角的值 (1)广度优先算法 (2)递归法 3. 路径总和 (1)递归法 (2…...
Flask学习之项目搭建
一、项目基本结构 1、 exts.py 存在的目的:在Python中,如果两个或更多模块(文件)相互导入对方,就会形成导入循环。例如,模块A导入了模块B,同时模块B又导入了模块A,这就会导致导入循环。 比如在这个项目中…...
**CentOS7安装Maven**
CentOS7安装Maven 首先先解压压缩包apache-maven-3.9.9-bin.tar.gz tar -xvf apache-maven-3.9.9-bin.tar.gz解压完毕后配置环境变量 vim /etc/profile在环境变量配置文件中加入这句话 #Maven export MAVEN_HOME/opt/soft/maven362 //换成自己的路径 export PATH$PATH:$JAVA…...
(undone) MIT6.824 Lecture1 笔记
参考1MIT课程视频:https://www.bilibili.com/video/BV16f4y1z7kn/?spm_id_from333.337.search-card.all.click&vd_source7a1a0bc74158c6993c7355c5490fc600 参考2某大佬笔记:https://ashiamd.github.io/docsify-notes/#/study/%E5%88%86%E5%B8%83%…...
小白投资理财 - 开篇
小白投资理财 - 开篇 第一健身第二提升工作技能第三理财自律和规划 我认为的人生三件大事值得投资,一是强身健体,有个好身体;二是提升工作技能,不断学习工作领域里的新知识;三是投资理财,确保资产不贬值。 …...
高中还来得及选择信息学奥赛赛道吗?
随着信息学奥赛(NOI)在升学中的重要性日益凸显,越来越多的学生和家长将其视为进入顶尖高校的一个重要途径。然而,很多学生可能直到高中阶段才意识到信息学奥赛的重要性,或者才开始对编程产生兴趣。于是问题出现了&…...
01_OpenCV图片读取与展示
import cv2 img cv2.imread(夕阳.jpg, 1) #cv2.imshow(image, img) #此行只能命令行处py文件执行,会弹出一个视频窗口 #cv2.waitKey (0)以下会在jupyter Lab控件中显示读取的图像 #bgr8转jpeg格式 import enum import cv2def bgr8_to_jpeg(value, quality75):ret…...
C语言中的输入控制重要基础
在C语言编程中,处理输入数据是一个常见的任务。根据不同的情况,我们可以采用不同的输入控制方法。本文将介绍三类输入控制方式,分别是已知数据组数的输入、以特定符号结束的输入,以及以EOF结束的输入。 1. 已知数据组数的输入 在…...
Vue 学习
使用 vue 创建一个项目 检查是否已经安装了 npm 和 node npm --version node --version 使用 npm 安装 vue npm install -g vue/cli 检查 vue 工具是否安装成功 vue --version 使用 vue 工具创建一个名为 vue-router-syntax 的项目 这是命令行的创建方式 vue create vu…...
Redis集群的两种方式
1.Redis集群 1.1 搭建主从集群 单节点Redis的并发能力是有上限的,要进一步提高Redis的并发能力,就需要搭建主从集群,实现读写的分离。一般情况下,主节点负责写操作,从节点负责读操作。而从节点如何得知数据呢ÿ…...
QT--基础
将默认提供的程序都注释上意义 0101.pro QT core gui #QT表示要引入的类库 core:核心库 gui:图形化界面库 #如果要使用其他库类中的相关函数,则需要加对应的库类后,才能使用 greaterThan(QT_MAJOR_VERSION, 4): QT wid…...
一、前后端分离及drf的概念
1.1什么是前后端分离 程序角度 前后端不分离:一个程序(如django),接收请求处理HTML模版用户返回 前后端分离:两个程序 --前端:vue.js/react.js/angular.js --后端:Django drf(django rest framework) 2.专业角度 --…...
AI垃圾溢出识别摄像机
随着城市化进程的加快,垃圾处理成为城市管理中的一项重要工作。然而,垃圾桶溢出现象经常发生,给城市环境卫生和市民生活带来不便。为了解决这一问题,AI垃圾溢出识别摄像机 应运而生,利用人工智能技术,实现对…...
【抽代复习笔记】29-群(二十三):生成子群的两道例题及子群陪集的定义
例1:取S3的子集S {(12),(123)},S的生成子群包含哪些元?一个群的两个不同的子集会不会生成相同的子群? 解:(1)S的生成子群就是S3。证明[有不理解之处可以回头看看第27篇笔记中生成子群的定…...
安全防护装备检测系统源码分享
安全防护装备检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer…...
easyexcel常见问题分析
文章目录 一、读取数字多了很多小数位的精度问题 一、读取数字多了很多小数位的精度问题 浮点型转成BigDecimal的时候会出现精度问题,例如 这儿设置的实体类对象类型是String,默认用到的是StringNumberConverter转换器 2.1.4 版本 public class Strin…...
精通推荐算法31:行为序列建模之ETA — 基于SimHash实现检索索引在线化
1 行为序列建模总体架构 2 SIM模型的不足和为什么需要ETA模型 SIM实现了长周期行为序列的在线建模,其GSU检索单元居功至伟。但不论Hard-search还是Soft-search,都存在如下不足: GSU检索的目标与主模型不一致。Hard-search通过类目属性来筛选…...
Python知识点:如何使用Python进行卫星数据分析
开篇,先说一个好消息,截止到2025年1月1日前,翻到文末找到我,赠送定制版的开题报告和任务书,先到先得!过期不候! 如何使用Python进行卫星数据分析 卫星数据分析是地球观测领域的一项关键技术&a…...
广州SEO优化对网站转化有什么帮助_广州SEO优化应该注意哪些问题
<h2>广州SEO优化对网站转化有什么帮助</h2> <p>在当今数字化时代,广州SEO优化成为了企业提升在线业务的关键策略。广州作为中国南方的重要城市,其互联网市场竞争激烈,掌握有效的SEO优化手段对于提升网站转化率至关重要。广…...
BEYOND REALITY Z-Image实测:同一张脸,两种质感,细节对比一目了然
BEYOND REALITY Z-Image实测:同一张脸,两种质感,细节对比一目了然 今天我要带大家做一个有趣的实验。想象一下,你面前站着同一个人,但左边是手机快照,右边是专业单反拍摄的照片——这就是BEYOND REALITY Z…...
原创:黄大年茶思屋难题揭榜第141期|5道核心题精简公开·未获技术反馈求指正
黄大年茶思屋难题揭榜第141期|5道核心题精简公开未获技术反馈求指正 作者:华夏之光永存 摘要 这五道题我们已完整解题并提交黄大年茶思屋难题揭榜,最终被退回,但平台未给出任何具体技术驳回意见、未指明缺陷、未提供修改方向。我们…...
FastAPI项目PyInstaller打包实战:避坑指南与最佳实践
1. 为什么需要打包FastAPI项目? 当你用FastAPI开发完一个Web应用后,最终需要部署到生产环境。传统方式要求服务器安装Python环境、配置依赖库,这个过程既繁琐又容易出错。PyInstaller的价值就在于能把整个项目打包成独立可执行文件࿰…...
解锁7大加密场景:Cryptii离线工具全攻略
解锁7大加密场景:Cryptii离线工具全攻略 【免费下载链接】cryptii Web app and framework offering modular conversion, encoding and encryption 项目地址: https://gitcode.com/gh_mirrors/cr/cryptii 在数字化时代,数据安全与格式转换成为开发…...
Mac Mouse Fix:释放第三方鼠标潜能,重构macOS输入体验
Mac Mouse Fix:释放第三方鼠标潜能,重构macOS输入体验 【免费下载链接】mac-mouse-fix Mac Mouse Fix - A simple way to make your mouse better. 项目地址: https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix 现象解构:当高端鼠…...
从LTE到5G-Advanced:载波聚合(CA)技术演进全解析与网络工程师调试指南
从LTE到5G-Advanced:载波聚合技术深度演进与实战调试手册 当你在凌晨三点的基站机房盯着屏幕上跳动的KPI指标,突然发现某个5G小区下行速率始终无法突破800Mbps——这很可能是一个典型的载波聚合配置问题。作为网络优化工程师,我们每天都在与这…...
【实战】VSCode插件离线安装全攻略:从下载到部署
1. 为什么需要离线安装VSCode插件 作为一名在开发一线摸爬滚打多年的老码农,我遇到过太多因为网络问题导致插件安装失败的场景。比如去年在某大型制造企业的工厂MES系统升级项目中,开发环境完全隔离外网,但团队又急需使用GitLens和Python插件…...
Vivado实战:从零封装自定义接口IP核的完整流程
1. 为什么需要封装自定义IP核 第一次接触FPGA开发时,我总喜欢把整个工程的所有代码都堆在一个项目里。直到某天需要复用之前的HDMI显示模块时,才发现要手动复制几十个文件,还得逐个修改端口连接。这种重复劳动让我意识到:封装IP核…...
Windows环境下Jaeger全链路监控系统搭建指南
1. 为什么需要全链路监控系统 在微服务架构中,一个用户请求可能会经过多个服务的处理。想象一下,你在电商网站下单时,这个操作会触发订单服务、支付服务、库存服务等多个系统的协同工作。当出现问题时,传统的日志排查就像在迷宫里…...
