QTday1(第一个QT界面、常用类与组件)

一、Xmind整理:

Assistant帮助文档的使用:

设计师界面的介绍:

各文件之间调用方式:

二、上课笔记整理:

1.第一个QT界面

①创建自定义类时需要指定父类

②第一个界面的相关操作 

#include "mainwindow.h"
#include <iostream>
#include <QDebug>                     //输出函数对应的头文件
#include <QIcon>using namespace std;
MainWindow::MainWindow(QWidget *parent): QWidget(parent)
{//输出函数 qDebug();//使用方式1:qDebug("%s","hello worrld");       //类似于 printf//使用方式2:qDebug() << "你好";                 //类似于cout//1、关于组件的尺寸设置qDebug() << "size = " << this->size();       //输出组件尺寸this->resize(540,410);                       //重新设置尺寸this->resize(QSize(800,600));                //使用匿名对象,调用重新设置尺寸函数qDebug() << "size = " << this->size();qDebug() << "width = " << this->width();     //输出组件宽度qDebug() << "height = " << this->height();   //获取高度//2、设置尺寸最值this->setMaximumSize(1000,800);              //设置最大尺寸this->setMinimumSize(400,300);               //设置最小尺寸this->setFixedSize(540,410);                 //设置固定尺寸//3、窗口标题qDebug() << this->windowTitle();this->setWindowTitle("My First Window");qDebug() << this->windowTitle();//4、设置窗口的iconthis->setWindowIcon(QIcon("C:\\QT(C++)\\QTday1\\qq.png"));//5、设置背景色,一般使用样式表完成this->setStyleSheet("background-color:skyblue;");//6、设置窗口透明度this->setWindowOpacity(0.8);//7.设置纯净窗口this->setWindowFlag(Qt::FramelessWindowHint);//8、移动窗口位置this->move(50,100);}MainWindow::~MainWindow()
{
}

2.常用类与组件

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);//1、使用无参构造添加一个按钮QPushButton *btn1 = new QPushButton;   //无参构造//btn1->show();btn1->setParent(this);       //给组件指定父组件,让其依附于界面而存在btn1->setText("按钮1");       //给组件设置文本内容qDebug() << btn1->size();    //界面大小btn1->resize(QSize(90,35));  //设置按钮组件的大小btn1->move(200,0);           //移动组件位置btn1->setStyleSheet("background-color:red;"    //设置样式表"border-radius:10px;""color:white;");//2、构造一个按钮时,指定父组件QPushButton *btn2 = new QPushButton(this);      //将当前界面设置成父组件btn2->setText("按钮2");btn2->resize(btn1->size());                     //使用其他按钮的大小设置该组件的大小btn2->move(btn1->x(),80);btn2->setEnabled(false);                        //设置不可用状态btn2->setIcon(QIcon("C:\\QT(C++)\\QTday1\\qq.png"));    //设置图标//3、构造按钮时给定文本内容以及父组件QPushButton *btn3 = new QPushButton("按钮3",this);btn3->resize(btn1->size());btn3->move(btn2->x(),btn2->y()+50);btn3->setIcon(QIcon("C:\\QT(C++)\\QTday1\\qq.png"));//4、构造一个按钮,构造时给定父组件、文本内容、iconQPushButton *btn4 = new QPushButton(QIcon("C:\\QT(C++)\\QTday1\\qq.png"),"按钮4",this);btn4->resize(btn1->size());btn4->move(btn3->x(),btn3->y()+50);/******************************************************************************************///1.构造一个行编辑器,构造时给定父组件QLineEdit *edit1 = new QLineEdit(this);//edit1->setText("请输入>>>");                      //设置编辑器中的文本内容edit1->setPlaceholderText("QQ/手机/邮箱");           //设置编辑器的占位文本edit1->resize(200,40);                              //设置尺寸edit1->move(btn1->x()+110,0);                       //移动位置edit1->setEnabled(false);                           //设置不可用状态//2、构造一个行编辑器,构造时给定父组件以及文本内容QLineEdit *edit2 = new QLineEdit("哈哈哈哈哈哈哈",this);qDebug() << edit2->text();                           //获取行编辑器中文本内容edit2->resize(edit1->size());edit2->move(edit1->x(),edit1->height()+40);edit2->setEchoMode(QLineEdit::Password);             //设置回显模式/******************************************************************************************///1、实例化一个标签QLabel *lab1 = new QLabel("账号",this);lab1->resize(50,50);lab1->setStyleSheet("background-color:yellow");lab1->setPixmap(QPixmap(""));lab1->setScaledContents(true);                 //设置内容自适应
}Widget::~Widget()
{delete ui;
}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从编程语言的角度来理解正则表达式

程序代码是对现实事物处理逻辑的抽象&#xff0c;而正则表达式&#xff0c;则是对复杂的字符匹配程序代码的进一步抽象&#xff1b;也就是说&#xff0c;高度简洁的正则表达式&#xff0c;可以认为其背后所对应的&#xff0c;是字符匹配程序代码&#xff0c;而字符匹配程序代码…

MacOS软件安装包分享(附安装教程)

目录 一、软件简介 二、软件下载 一、软件简介 MacOS是一种由苹果公司开发的操作系统&#xff0c;专门用于苹果公司的计算机硬件。它被广泛用于创意和专业应用程序&#xff0c;如图像设计、音频和视频编辑等。以下是关于MacOS的详细介绍。 1、MacOS的历史和演变 MacOS最初于…

eureka迁移到nacos--双服务中心注册

服务注册中心的迁移有多种方式&#xff0c;官网使用nacos sync&#xff0c;还有民间开发的双注册中心组件eureka-nacos-proxy&#xff0c;但是我用了不太顺利&#xff0c;所以用的是阿里巴巴的双注册中心组件edas-sc-migration-starter spring boot&#xff1a;2.5.3 引入依赖 …

宏观经济和风电预测误差分析(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

大数据平台与数据仓库的五大区别

随着大数据的快速发展&#xff0c;很多人难以区分大数据平台与数据仓库的区别&#xff0c;两者傻傻分不清楚。今天我们小编就给大家汇总了大数据平台与数据仓库的五大区别&#xff0c;希望有用哦&#xff01;仅供参考&#xff01; 大数据平台与数据仓库的五大区别 一、概念不同…

FFmpeg5.0源码阅读——FFmpeg大体框架

摘要&#xff1a;前一段时间熟悉了下FFmpeg主流程源码实现&#xff0c;对FFmpeg的整体框架有了个大概的认识&#xff0c;因此在此做一个笔记&#xff0c;希望以比较容易理解的文字描述FFmpeg本身的结构&#xff0c;加深对FFmpeg的框架进行梳理加深理解&#xff0c;如果文章中有…

ES是一个分布式全文检索框架,隐藏了复杂的处理机制,核心数据分片机制、集群发现、分片负载均衡请求路由

ES是一个分布式框架&#xff0c;隐藏了复杂的处理机制&#xff0c;核心数据分片机制、集群发现、分片负载均衡请求路由。 ES的高可用架构&#xff0c;总体如下图&#xff1a; 说明&#xff1a;本文会以pdf格式持续更新&#xff0c;更多最新尼恩3高pdf笔记&#xff0c;请从下面…

GNU make系列之写Makefile文件(1)

一.欢迎来到我的酒馆 在本章节介绍如何写Makefile文件。 目录 一.欢迎来到我的酒馆二.Makefile包含了什么三.引入其它的Makefile文件四.MAKEFILES变量 二.Makefile包含了什么 2.1 Makefile包含了5种类型&#xff1a;显式的规则&#xff0c;隐式的规则&#xff0c;变量的定义&am…

性能瓶颈分析及调优

分析流程&#xff1a; 很多情况下压测流量并没有完全进入到后端&#xff08;服务端&#xff09;&#xff0c;在网络接入层&#xff08;云化的架构比如&#xff1a;SLB/WAF/高防IP&#xff0c;甚至是CDN/全站加速等&#xff09;可能就会出现由于各种规格&#xff08;带宽、最大…

2023京东口腔护理赛道行业数据分析(京东销售数据分析)

近年来&#xff0c;口腔护理逐渐成为年轻人重视的健康领域&#xff0c;从口腔护理整体市场来看&#xff0c;牙膏和牙刷等基础口腔护理产品仍占据主导地位。不过&#xff0c;随着口腔护理市场逐步朝向精致化、专业化、多元化等方向发展&#xff0c;不少新兴口腔护理产品受到消费…

Springboot集成Docker并将镜像推送linux服务器

案例使用springboot项目&#xff0c;在IDEA 中集成Docker生成镜像&#xff0c;并将镜像发布到linux服务器 具体步骤如下&#xff1a; 1、Centos7安装Docker 更新系统的软件包列表 sudo yum update安装Docker所需的软件包和依赖项&#xff1a; sudo yum install docker完成…

不用循环数组,js+html实现贪吃蛇

功能描述&#xff1a;每走10步随机改变一个方方向&#xff0c;当键盘按下方向键 w,s,a,d时&#xff0c;使用键盘方向控制蛇的移动&#xff0c;蛇头每撞到一次自身时改变屏幕颜色&#xff0c;蛇头碰到边界时从另一边回来。 实现思路&#xff1a;用个30大小的数组存放每个结点&a…