QT--基础
将默认提供的程序都注释上意义
0101.pro
QT += core gui
#QT表示要引入的类库 core:核心库 gui:图形化界面库
#如果要使用其他库类中的相关函数,则需要加对应的库类后,才能使用
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
#QT超过版本4时,会自动加上widgetsCONFIG += 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 \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
widget.h
#ifndef WIDGET_H
#define WIDGET_H
//防止头文件重复包含#include <QWidget>//ui_mywnd.h中的命名空间的声明
QT_BEGIN_NAMESPACE
namespace 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();//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界面申请的组件空间
}
使用代码的形式实现登录框
#include "code1.h"
#include<QDebug>
#include<QIcon>
#include<QPushButton>
#include<QLineEdit>
#include<QLabel>
code1::code1(QWidget *parent): QWidget(parent)
{this->setWindowTitle("lili's window");this->setWindowIcon(QIcon("D:/BaiduNetdiskDownload/qt/yingyong/f54cccba4ab9b9122909fb0e0a4f3d3.jpg"));this->setMaximumSize(800,600);this->setMinimumSize(400,300);this->setFixedSize(500,400);//this->resize(800,600);//this->set(QIcon("D:/BaiduNetdiskDownload/qt/yingyong/7adcf1a6baf7073e8434ae912bbb52a.png"));this->setWindowOpacity(0.9);this->move(400,300);QPushButton *btn1=new QPushButton(QIcon("D:/BaiduNetdiskDownload/qt/yingyong/12067205a1d2c773274d113ab9594f8.jpg"),"登录",this);btn1->resize(60,30);btn1->move(150,300);btn1->setStyleSheet("color:white;background:pink;border-radius:10px;");QPushButton *btn2=new QPushButton("注册",this);btn2->resize(btn1->size());btn2->move(btn1->x()+btn1->width()+70,btn1->y());btn2->setStyleSheet("color:white;background:pink;border-radius:10px;");btn2->setIcon(QIcon("D:/BaiduNetdiskDownload/qt/yingyong/1359e195af6400e83b7490ddae6808f.jpg"));QLabel *lab1=new QLabel("账号:",this);lab1->resize(50,30);lab1->move(btn1->x()-60,btn1->y()-90);lab1->setStyleSheet("color:pink;");QLabel *lab2=new QLabel("密码:",this);lab2->resize(50,30);lab2->move(btn1->x()-60,lab1->y()+40);lab2->setStyleSheet("color:pink;");QLineEdit *edit1=new QLineEdit(this);edit1->resize(250,30);edit1->move(lab1->x()+lab1->width()+10,lab1->y());edit1->clear();edit1->setStyleSheet("color:pink");edit1->setAlignment(Qt::AlignCenter);edit1->setPlaceholderText("请输入账号");QLineEdit *edit2=new QLineEdit("密码",this);edit2->resize(250,30);edit2->move(edit1->x(),edit1->y()+40);edit2->clear();edit2->setStyleSheet("color:pink");edit2->setAlignment(Qt::AlignCenter);edit2->setPlaceholderText("请输入密码");edit2->setEchoMode(QLineEdit::Password);QLabel *lab3=new QLabel(this);lab3->resize(500,200);lab3->setStyleSheet("background:skyblue;");//QMovie *movie=new QMovie("");//lab3->setScaledContents(true);//lab3->setPixmap(QPixmap("D:/BaiduNetdiskDownload/qt/yingyong/218f6c69c7208efb13d66d558999dec.jpg"));lab3->setPixmap(QPixmap("D:/BaiduNetdiskDownload/qt/yingyong/7adcf1a6baf7073e8434ae912bbb52a.png"));lab3->setScaledContents(true);
}code1::~code1()
{
}
相关文章:

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…...
Python实现Phong着色模型算法
目录 使用Python实现Phong着色模型算法引言Phong着色模型的基本原理1. 模型组成2. 公式 Phong着色模型的Python实现1. 向量类的实现2. 光源类的实现3. 材质类的实现4. Phong着色器类的实现 整体实现总结 使用Python实现Phong着色模型算法 引言 在计算机图形学中,光…...
异步框架 fastapi -- 连接mysql数据库
文章目录 docker部署mysqlfastapi连接mysql docker部署mysql 拉取mysql镜像 # 查看docker 服务状态 systemctl status docker systemctl start docker # 设置 开机启动 systemctl enable docker# 拉取mysql 镜像 docker search mysql:latest # 不指定版本时,默认…...
Spring 全家桶使用教程 —— 后端开发从入门到精通
Spring 全家桶是 Java 后端开发的利器,提供了从基础开发到复杂微服务架构的一整套解决方案。通过对各个 Spring 组件的掌握,开发者可以快速构建高效、稳定的企业级应用。本文将详细介绍 Spring 全家桶的各个组件,帮助开发者深入理解其核心功能…...

AI动漫转真人终极教程!3步做出爆款内容,音乐推广号变现
从小到大,我们看过的动漫、玩过的游戏有很多很多 但我们会发现里面的角色或者人物都是二次元的 我就会好奇这些动漫人物在现实中会长什么样 而现在,我们通过AI绘画竟然就能还原出来他们现实中的样子 除了动漫角色和游戏人物,古代的画像、…...

vue2 vconsole有助于移动端开发页面调试
项目场景: pc项目开发中,有浏览器自带的调试工具。但在移动端,就需要自己搭建调试工具了。vconsole一种非常方便的前端调试依赖库,有助于我们在移动端开发式进行调试,快速排查移动端问题。 搭建步骤 1、安装依赖库。…...

别再使用[]来获取字典的值了,来尝试一下这些方法
字典 在Python中,字典(Dictionary)是一种非常灵活的数据结构,用于存储键值对(key-value pairs)。每个键都是唯一的,并且与某个值相关联。字典是Python中处理映射关系(即一个键对应一…...

如果你不愿意冒一切风险,就不要成为创业者:如何建立一个年收入 1800 万美元的支付业务
作者:Austin Mac Nab,VizyPay 的 CEO 兼创始人 在创业初期,如果有人告诉我,我需要冒一切风险才能成功,我大概会吓得绕道而行。但事实是,如果你不愿意冒一切风险,就不要成为创业者。本着这个信念…...

4.浮点数二分【求数的平方根】
模板 public class BinarySearch {// 检查x是否满足某种性质public static boolean check(double x) {// 实现具体的检查逻辑return false; // 这里仅为示例,实际根据需求修改}public static double bsearch_3(double l, double r) {final double eps 1e-6; // …...

简站wordpress主题产品多图ACF插件设置方法
此教程仅适用于演示站有产品多图的主题,演示站没有产品多图的主题,就别往下看了,省得浪费时间。 1、给产品添加轮播图 简站wordpress主题有多个产品图的主题,添加产品轮播图的具体方法如下: 1.2、选择产品分类 添加…...
USB设备在Linux系统中的识别和加载过程
文章目录 一、USB设备的插入与检测二、中断处理与设备识别三、驱动程序加载与设备注册四、设备节点创建与权限分配五、设备初始化与通信 在Linux系统中,USB设备的自动识别和加载过程是一个高效且复杂的机制,确保了用户能够无缝地使用这些设备。本文将深入…...
nacos通过@Value动态刷新配置
Value获取最新值 引入jar包: <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId><version>2.2.1.RELEASE</version> </dependency>引入配置…...
[研发工具箱] 系列3.机电类常用的分类网站
工具箱系列1里,我们对国家标准馆提供的服务做了一些简介,在研发工作中还有一些非常宝贵的资讯来源,现在尽可能多的列举出一些宝贝网站: 1.文献标准类网站: 我经常会用到3 NTSL国家科技图书文献中心 之前提到的国家标…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...

MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

如何将联系人从 iPhone 转移到 Android
从 iPhone 换到 Android 手机时,你可能需要保留重要的数据,例如通讯录。好在,将通讯录从 iPhone 转移到 Android 手机非常简单,你可以从本文中学习 6 种可靠的方法,确保随时保持连接,不错过任何信息。 第 1…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成
厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...

使用LangGraph和LangSmith构建多智能体人工智能系统
现在,通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战,比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...

day36-多路IO复用
一、基本概念 (服务器多客户端模型) 定义:单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用:应用程序通常需要处理来自多条事件流中的事件,比如我现在用的电脑,需要同时处理键盘鼠标…...
pycharm 设置环境出错
pycharm 设置环境出错 pycharm 新建项目,设置虚拟环境,出错 pycharm 出错 Cannot open Local Failed to start [powershell.exe, -NoExit, -ExecutionPolicy, Bypass, -File, C:\Program Files\JetBrains\PyCharm 2024.1.3\plugins\terminal\shell-int…...