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、设置窗口的icon
    this->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、构造一个按钮,构造时给定父组件、文本内容、icon
    QPushButton *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;
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于MYSQL的主从同步和读写分离

目录 一.完成MySQL主从同步&#xff08;一主两从&#xff09; 1.主库配置 2.建立同步账号 3.锁表设置只读 4.备份数据库数据 5.主库备份数据上传到从库 6.从库上还原备份 7.解锁 8.从库上设定主从同步 9.启动从库同步开关 10.检查状态 二.基于MySQL一主两从配置&…

LabVIEW | 串口基础【自学】

转载 B站   up&#xff1a;不烧板子 地址&#xff1a;https://www.bilibili.com/read/cv9435378 原博图片不清楚&#xff0c;自己重新跟学截图自留&#xff0c;侵删 文章目录 一、串口基础1.串口发送&#xff08;1&#xff09;简单发送&#xff08;2&#xff09;循环发送&…

【深度学习 | 核心概念】那些深度学习路上必经的核心概念,确定不来看看?(二)

&#x1f935;‍♂️ 个人主页: AI_magician &#x1f4e1;主页地址&#xff1a; 作者简介&#xff1a;CSDN内容合伙人&#xff0c;全栈领域优质创作者。 &#x1f468;‍&#x1f4bb;景愿&#xff1a;旨在于能和更多的热爱计算机的伙伴一起成长&#xff01;&#xff01;&…

[JDK8下的HashMap类应用及源码分析] 数据结构、哈希碰撞、链表变红黑树

系列文章目录 [Java基础] StringBuffer 和 StringBuilder 类应用及源码分析 [Java基础] 数组应用及源码分析 [Java基础] String&#xff0c;分析内存地址&#xff0c;源码 [JDK8环境下的HashMap类应用及源码分析] 第一篇 空构造函数初始化 [JDK8环境下的HashMap类应用及源码分…

LeetCode-160. 相交链表

这是一道真的非常巧妙的题&#xff0c;题解思路如下&#xff1a; 如果让他们尾端队齐&#xff0c;那么从后面遍历就会很快找到第一个相交的点。但是逆序很麻烦。 于是有一个巧妙的思路诞生了&#xff0c;如果让短的先走完自己的再走长的&#xff0c;长的走完走短的&#xff0c;…

关于商品活动的H5页面技术总结

背景 在单个html文件里面使用vue3、jquery等其他第三方js库&#xff0c;实现规定的页面效果&#xff0c;其中主要功能是从商品json数据中读取数据&#xff0c;然后可以通过搜索框、下拉框、左侧菜单来筛选商户信息。 页面布局 技术要点&#xff1a; 1、通过路由来进行页面布…

Visual Studio 2022的MFC框架——AfxWinMain全局对象和InitInstance函数

我是荔园微风&#xff0c;作为一名在IT界整整25年的老兵&#xff0c;今天我们来重新审视一下Visual Studio 2022下开发工具的MFC框架知识。 在看这篇帖子前&#xff0c;请先看我的另一篇帖子《Visual Studio 2022的MFC框架——应用程序向导》。 当程序调用了CWinApp类的构造…

goroutine的一点东西

前面的两篇&#xff0c;从相对比较简单的锁的内容入手(也是干货满满)&#xff0c;开始了go的系列。这篇开始&#xff0c;进入更核心的内容。我们知道&#xff0c;go应该是第一门在语言层面支持协程的编程语言(可能是我孤陋寡闻)&#xff0c;goroutine也完全算的上是go的门面。g…

VBA技术资料MF50:VBA_在Excel中突出显示前3个值

【分享成果&#xff0c;随喜正能量】人受到尊重&#xff0c;不是因为权钱&#xff0c;而是他骨子里透出的&#xff0c;正直与善良。。 我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高…

记录--怎么实现一个3d翻书效果

这里给大家分享我在网上总结出来的一些知识&#xff0c;希望对大家有所帮助 本篇主要讨论以下两种翻书动画的实现&#xff1a; 第一种是整页翻转的效果&#xff1a; 这种整页翻转的效果主要是做rotateY的动画&#xff0c;并结合一些CSS的3d属性实现。 第二种折线翻转的效果&…

ACM模式数组构建二叉树Go语言实现

目的 想输入一个数组&#xff0c;然后构造二叉树 例如数组为[6, 2, 8, 0, 4, 7, 9, -1, -1, 3, 5] 对应的二叉树为&#xff1a; 参考资料 ACM模式数组构建二叉树 重点&#xff1a;如果父节点的数组下标是i&#xff0c;那么它的左孩子下标就是i*21&#xff0c;右孩子下标就是…

生产环境部署与协同开发 Git

目录 一、前言——Git概述 1.1 Git是什么 1.2 为什么要使用Git 什么是版本控制系统 1.3 Git和SVN对比 SVN集中式 Git分布式 1.4 Git工作流程 四个工作区域 工作流程 1.5 Git下载安装 1.6 环境配置 设置用户信息 查看配置信息 二、git基础 2.1 本地初始化仓库 ​编辑…

opencv 进阶20-随机森林示例

OpenCV中的随机森林是一种强大的机器学习算法&#xff0c;旨在解决分类和回归问题。随机森林使用多个决策树来进行预测&#xff0c;每个决策树都是由随机选择的样本和特征组成的。在分类问题中&#xff0c;随机森林通过投票来确定最终的类别&#xff1b;在回归问题中&#xff0…

AE2018 安装过程

双击打开安装包&#xff0c;大概等五分钟后。 出现下边安装界面。 安装成功。 可以将图标发送到桌面快捷方式。

MySQL内容及原理记录

原理篇 架构、索引、事务、锁、日志、性能调优 高可用 读写分离、分库分表、分布式ID、高可用、分布式数据库、分布式事务、分布式锁 架构 1 执行一条 SQL 查询语句&#xff0c;期间发生了什么&#xff1f; &#xff08;1&#xff09;连接器&#xff1a;客户端通过连接器…

sql server 备份到网络共享

场景&#xff1a;sql server服务器A将数据库备份文件备份到服务器B 1&#xff09;服务器B创建共享目录 这里我将 D:\ProDbBak 共享&#xff0c;并且Everyone完全控制 2&#xff09;sql server服务器A能够访问服务器B共享目录&#xff0c;并且能完全控制 3&#xff09;修改服务…

Kotlin学习之密封类

Kotlin中的密封类: kotlin中的密封类&#xff0c;用关键词Sealed修饰&#xff0c;且还有一个规定&#xff1a;Sealed类的子类应该是Sealed类的嵌套类&#xff0c;或者应该在与Sealed类相同的文件中声明。 当我们想定义一个有相同父类&#xff0c;但是有不同子类的时候&#xf…

C语言每日一练------Day(10)

本专栏为c语言练习专栏&#xff0c;适合刚刚学完c语言的初学者。本专栏每天会不定时更新&#xff0c;通过每天练习&#xff0c;进一步对c语言的重难点知识进行更深入的学习。 今日练习题关键字&#xff1a;自除数 除自身以外数组的乘积 &#x1f493;博主csdn个人主页&#xff…

K8s简介之什么是K8s

目录 1.概述 2.什么是容器引擎&#xff1f; 3.什么是容器 4.什么是容器编排&#xff1f; 5.容器编排工具 6.到底什么是K8s? 7.为什么市场推荐K8s 8.K8s架构 9.K8s组件 Pods API 服务器 调度器 控制器管理器 Etcd 节点 Kubelet Kube代理 Kubectl 1.概述 Kub…