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

QT:常用类与组件

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.lryc.cn/news/449010.html

相关文章:

  • 企业内训|提示词工程师高阶技术内训-某运营商研发团队
  • K8S真正删除pod
  • 数据结构:队列及其应用
  • 26个用好AI大模型的提示词技巧
  • 线性表二——栈stack
  • 浏览器发送请求后关闭,服务器的处理过程
  • tee命令:轻松同步输出到屏幕与文件
  • 【经验技巧】如何做好S参数的仿测一致性
  • js逆向——webpack实战案例(一)
  • Spring Boot 进阶-Spring Boot的全局异常处理机制详解
  • 滚雪球学MySQL[7.1讲]:安全管理
  • 反射及其应用---->2
  • [Python学习日记-32] Python 中的函数的返回值与作用域
  • 儿童发光耳勺值得买吗?儿童发光耳勺最建议买的五个牌子!
  • TIPS 二进制程序暴露符号给动态链接库使用
  • 【分布式微服务云原生】8分钟掌握微服务通信的艺术:Dubbo与OpenFeign全面解析
  • sicp每日一题[2.33]
  • 【Mybatis】常见面试题汇总 共56题
  • 每天一道面试题(17):服务网格学习笔记
  • 【nrm】npm 注册表管理器
  • 解压短视频素材资源网站推荐
  • Qemu开发ARM篇-6、emmc/SD卡AB分区镜像制作并通过uboot进行挂载启动
  • Spring Boot中使用ThreadPoolTaskScheduler实现轻量级多线程定时任务
  • 完全二叉树的节点个数 C++ 简单问题
  • 每日一题学习笔记
  • 从事人工智能学习Python还是学习C++?
  • 博客摘录「 CNN中的感受野和有效感受野会对模型产生怎样的影响?」2024年9月29日
  • AURIX单片机示例:开发入门与点亮LED
  • MySQL字符串函数与操作
  • HTML+CSS 水滴登录页