QT:常用类与组件

news2024/9/28 21:49:38

1.设计QQ的界面

widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QPushButton>
#include <QLineEdit>
#include <QLabel>

//自定义类Widget,采用public方式继承QWidget,该类封装了图形化界面的相关操作,相当于自定义类也有了相关操作
class Widget : public QWidget
{
    Q_OBJECT     //信号与槽的宏,若没有该宏,信号与槽不能使用

public:
    Widget(QWidget *parent = nullptr);  //构造函数声明,带默认参数
    ~Widget();
};
#endif // WIDGET_H

main.cpp

#include "widget.h"

#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);  /采用QApplication 的有参构造实例化一个对象,
    Widget w;    //采用自定义Widget的无参构造实例化对象
    w.show();     //该对象调用显示函数
    return a.exec();
}
widget.cpp
#include "widget.h"

Widget::Widget(QWidget *parent)   //自定义类的构造函数,在初始化列表中显式调用父类QWidget的有参构造进行初始化
    : QWidget(parent)        //自定义中的Ui指针成员申请空间
{

    this->resize(800,600);
    this->setWindowTitle("QQ");
    this->setWindowIcon(QIcon("D:\\Project\\图标\\QQ.png"));


    QLabel *lab1=new QLabel(this);
    lab1->setPixmap(QPixmap("D:\\Project\\图标\\R.jfif"));
    lab1->resize(800,250);

    QLabel *lab2=new QLabel(this);
    lab2->setPixmap(QPixmap("D:\\Project\\图标\\3.jpg"));
    lab2->move(150,350);
    lab2->resize(100,100);



    QLabel *lab3=new QLabel(this);
    lab3->setText("账号:");
    lab3->resize(60,30);
    lab3->move(lab2->width()+lab2->x()+40,lab2->y());


    QLabel *lab4=new QLabel(this);
    lab4->setText("密码:");
    lab4->resize(60,30);
    lab4->move(lab3->x(),lab3->y()+lab3->height()+30);


    QLineEdit *edit1=new QLineEdit(this);
    edit1->resize(180,30);
    edit1->move(lab3->x()+lab3->width()+10,lab3->y());
    edit1->setStyleSheet("color:black");
    edit1->setAlignment(Qt::AlignLeft);
    edit1->setPlaceholderText("输入QQ账号");


    QLineEdit *edit2=new QLineEdit(this);
    edit2->resize(180,30);
    edit2->move(lab4->x()+lab4->width()+10,lab4->y());
    edit2->setStyleSheet("color:black");
    edit2->setAlignment(Qt::AlignLeft);
    edit2->setEchoMode(QLineEdit::Password);
    edit2->setPlaceholderText("输入QQ密码");


    QPushButton *btn1=new QPushButton(this);
    btn1->setText("登录");
    btn1->resize(80,40);
    btn1->move(lab4->x()+20,lab4->y()+lab4->height()+40);


    QPushButton *btn2=new QPushButton(this);
    btn2->setText("取消");
    btn2->resize(btn1->size());
    btn2->move(btn1->x()+btn1->width()+60,btn1->y());





}

Widget::~Widget()
{
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2174852.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

怎么绕开华为纯净模式安装软件

我是标题 众所周不知&#xff0c;华为鸿蒙系统自带纯净模式&#xff0c;而且 没法关闭 : ) 我反正没找到关闭键 以前或许会有提示&#xff0c;无视风险&#xff0c;“仍要安装”。但我这次遇到的问题是&#xff0c;根本没有这个选项&#xff0c;只有“应用市场”和“取消”&…

动态规划笔记

第一轮面试准备到第26题 一 解题步骤 对于动态规划问题&#xff0c;我将拆解为如下五步曲&#xff0c;这五步都搞清楚了&#xff0c;才能说把动态规划真的掌握了&#xff01; 确定dp数组&#xff08;dp table&#xff09;以及下标的含义确定递推公式dp数组如何初始化确定遍历…

基于yolov8的海上红外目标系统python源码+onnx模型+评估指标曲线+精美GUI界面

【算法介绍】 基于YOLOv8的海上红外目标系统是一项集成了前沿技术的创新解决方案&#xff0c;专为复杂海洋环境下的目标检测而设计。该系统利用YOLOv8深度学习模型的强大目标检测能力&#xff0c;结合红外成像技术&#xff0c;实现了对海上小型船只、浮标、甚至水下潜器等目标…

Arch - 架构安全性_传输(Transport Security)

文章目录 OverView导图1. 概述2. TLS的基本概念2.1 什么是TLS&#xff1f;2.2 TLS与SSL的关系2.3 TLS的工作原理 3. TLS的核心组件3.1 加密算法3.2 哈希函数3.3 数字证书 4. TLS握手过程4.1 客户端Hello4.2 服务器Hello4.3 证书验证4.4 密钥交换4.5 会话密钥生成4.6 安全连接建…

解锁初中学习新境界 —— 初中通关宝典速记手册

在初中这个学习生涯的关键阶段&#xff0c;掌握扎实的基础知识是取得优异成绩的关键。为此&#xff0c;我们特别推荐《初中通关宝典》——一本专为初中生打造的各科基础知识速记手册&#xff0c;它将成为你学习路上的得力助手。 文章目录 1. 全科覆盖&#xff0c;精准速记2.科学…

K8S的Pod IP

pod 的ip 一般是提供给pod1与pod2之间的通信&#xff0c;它有两个特点 1. Pod IP会随着Pod实例 的创新创建&#xff08;重启&#xff09;发生变化&#xff1b; 2. Pod IP只在集群内节点可见&#xff0c;外部无法直接访问

基于Spring框架的分层解耦详解

博客主页&#xff1a;誓则盟约系列专栏&#xff1a;Java Web关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Java Web 三层架构&#xff1a; Java Web可以大致被分为三层架构&#xff1a;…

基于单片机的水位检测系统仿真

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于STC89C52单片机&#xff0c;DHT11温湿度采集温湿度&#xff0c;滑动变阻器连接ADC0832数模转换器模拟水位传感器检测水位&#xff0c;通过LCD1602显示信息&#xff0c;然后在程序里设置好是否…

《Spring Boot应用进阶:打造优雅的错误处理机制与全局异常拦截器》

文章目录 自定义异常类AppException封装业务有关的枚举类AppExceptionCodeMsg全局异常拦截器Handler响应类模板Resp案例展示 || Demo项目结构pom依赖DemoController实际执行结果 Demo案例Git地址 | Gitee 本文主要介绍自己在工作中在处理抛出异常类和封装响应类处理的模板总结。…

首屏优化之:SSR(服务端渲染)

引言 今天我们来聊一下首屏优化之SSR-服务端渲染&#xff08;Server-Side Rendering&#xff09;。 可能很多朋友并不了解什么是 SSR&#xff0c;包括在工作中写的网站是什么类型的也不太清楚&#xff0c;是 CSR 还是 SSR&#xff1f;作者在阅读过大量的文章之后&#xff0c;…

数据结构:二叉树OJ题篇 手把手带你入门数据结构~

文章目录 前言一、单值二叉树二、检查两颗树是否相同三、对称二叉树四、另一颗树的子树五、二叉树的前序遍历六、二叉树的后序遍历七、二叉树中序遍历八、二叉树的构建及遍历九、二叉树选择题1.二叉树性质2. 二叉树选择题1. 某⼆叉树共有 399 个结点&#xff0c;其中有 199 个度…

vLLM (6) - Scheduler BlockSpaceManager

系列文章目录 vLLM (1) - Qwen2推理&部署 vLLM (2) - 架构总览 vLLM (3) - Sequence & SequenceGroup vLLM (4) - LLMEngine上篇 vLLM (5) - LLMEngine下篇 vLLM (6) - Scheduler & BlockSpaceManager 文章目录 系列文章目录前言一、Scheduler1.概述2.Scheduler._…

Cannot solve model: no CPLEX runtime found.【macOS系统下问题解决】

最近在研究电能优化的策略时&#xff0c;运行别人代码出现了 Cannot solve model: no CPLEX runtime found. 1. 下载cplex # !pip install cplex12.8 #指定版本 !pip install cplex #下载最新的版本2. 下载docplex !pip install docplex3. 重启Jupyter或者你的项目…

C++之STL—常用排序算法

sort (iterator beg, iterator end, _Pred) // 按值查找元素&#xff0c;找到返回指定位置迭代器&#xff0c;找不到返回结束迭代器位置 // beg 开始迭代器 // end 结束迭代器 // _Pred 谓词 random_shuffle(iterator beg, iterator end); // 指定范围内的元素随机调…

Qt(9.28)

widget.cpp #include "widget.h"Widget::Widget(QWidget *parent): QWidget(parent) {QPushButton *btn1 new QPushButton("登录",this);this->setFixedSize(640,480);btn1->resize(80,40);btn1->move(200,300);btn1->setIcon(QIcon("C:…

Secret Configmap

应用启动过程中可能需要一些敏感信息&#xff0c;比如访问数据库的用户名&#xff0c;密码或者秘钥&#xff0c;讲这些信息直接保存在容器镜像中显然不合适&#xff0c;kubernetes提供的解决方案就是Secret Secret会以密文的方式存储数据&#xff0c;避免了直接在配置文件中保…

基于php的医院信息管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏&#xff1a;Java精选实战项目…

NLP:BERT的介绍

1. BERT 1.1 Transformer Transformer架构是一种基于自注意力机制(self-attention)的神经网络架构&#xff0c;它代替了以前流行的循环神经网络和长短期记忆网络&#xff0c;已经应用到多个自然语言处理方向。   Transformer架构由两个主要部分组成&#xff1a;编码器(Encod…

《向量数据库指南》——Zilliz Cloud Serverless版震撼发布:弹性伸缩,成本直降50倍

在数据驱动的时代背景下,向量数据库作为处理复杂非结构化数据(如图像、视频、音频及文本等)的关键技术,正逐步成为推动人工智能、机器学习以及大数据分析等领域发展的核心力量。随着数据量的爆炸性增长和查询需求的多样化,如何高效地管理并利用这些数据成为了企业和开发者…

如何回答:count(*) 和 count(1)的区别

感谢Java面试教程的Java多线程文章&#xff0c;点击查看>原文 在SQL查询中&#xff0c;count(*) 和 count(1) 都是用于统计表中行数的聚合函数&#xff0c;它们的主要区别在于语法和执行效率上。 语法上的区别&#xff1a; count(*)&#xff1a;直接统计表中的所有行数&…