Qt 使用代码布局,而不使用UI布局

一、工程的建立:

1、打开Qt Creator,文件,新建文件或项目

2、选择Application,Qt Widgets Application

3、写入名称,选择qmake

4、选择基类Base class,去除Generate form

务必选择QWidget,若选择QMainWindow,会在设置layout的时候报错。

5、完成后续即可完成工程

工程目录:

二、简单的布局开发

在本例子中,为了方便了解代码布局的实现,在界面中添加两个按钮,并水平布局

头文件:widget.h

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QPushButton>
#include <QHBoxLayout>class Widget : public QWidget
{Q_OBJECT
public:Widget(QWidget *parent = nullptr);~Widget();
private:QPushButton* btn01;QPushButton* btn02;
};
#endif // WIDGET_H

源文件:widget.cpp

#include "widget.h"Widget::Widget(QWidget *parent): QWidget(parent)
{// 新建变量btn01 = new QPushButton("打开", this);btn02 = new QPushButton("关闭", this);// 建立布局并放入元素QHBoxLayout* layout = new QHBoxLayout();layout->addWidget(btn01);layout->addWidget(btn02);// 配置布局this->setLayout(layout);
}Widget::~Widget()
{
}

主函数:main.cpp

#include "widget.h"
#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;w.show();return a.exec();
}

运行结果:

注意事项:

在新建布局管理器变量时,不需要指定父类指针。

例如:QHBoxLayout* layout = new QHBoxLayout();

而不是:QHBoxLayout* layout = new QHBoxLayout(this);

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

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

相关文章

交友系统定制版源码| 相亲交友小程序源码全开源可二开_打造独特的社交交友系统

交友系统源码的实现涉及到多个方面&#xff0c;包括前端页面设计、后端逻辑处理、数据库设计以及用户交互等。以下是一个简单的交友系统源码实现的基本框架和关键步骤: 1.数据库设计:用户表:存储用户基本信息&#xff0c;如用户ID、用户名、密码、头像、性别、年龄、地理位置等…

『手撕Vue-CLI』 添加自定义指令

添加 create 指令 在 vue-cli 中&#xff0c;create 指令是用来创建一个新的项目的&#xff0c;我实现的 nue --help 的帮助信息中只有 --version&#xff0c;--help 这两个指令&#xff0c;所以当用户使用我的 nue-cli 时&#xff0c;并不知道有 create 这个指令&#xff0c;所…

深入解析Apache Flume:定义、架构、原理、应用场景及常用命令

引言 Apache Flume 是一个分布式、可靠且可用的服务&#xff0c;用于高效地收集、聚合和移动大量日志数据。作为一个大数据生态系统的重要组成部分&#xff0c;Flume 可以将数据从各种来源传输到一个集中存储平台&#xff0c;比如 Hadoop HDFS 或 HBase。本文将从 Flume 的定义…

【MySQL】事务实现原理

事务 事务是将一组SQL语句打包成一个整体&#xff0c;在这组SQL的执行过程中&#xff0c;要么全部成功&#xff0c;要么全部失败。这组SQL语句可以是一条也可以是多条。 如果转账成功&#xff0c;应该满足以下要求&#xff1a; 张三的账户余额减少100&#xff0c;变成900&…

C++03 字符串、向量、数组

字符串string 一些初始化string对象的方式&#xff1a; string str; //str是一个空字符串 string str1(str2); // str1是str2的副本 string str1 str2; // 等同于str1(str2) string str("val"); // str是"val"的副本 string str "val"; //等…

FeignClient配置

/***解释 primary 属性的含义&#xff1a;* 作为主要 Bean&#xff1a;* 当 primary 属性设置为 true 时&#xff08;默认值&#xff09;&#xff0c;Feign 代理将会被标记为主要的 Bean。这意味着&#xff0c;当存在多个同类型的 Bean 时&#xff0c;Spring IoC 容器会优先选择…

Vatee万腾平台:引领行业变革,创新未来

在当今这个快速变化的时代&#xff0c;科技的力量正在以前所未有的速度推动着行业的变革。Vatee万腾平台&#xff0c;以其独特的视角和前瞻性的布局&#xff0c;正引领着行业变革的浪潮&#xff0c;创新着未来的发展方向。 Vatee万腾平台是一家专注于科技研发和创新应用的领军企…

安装PyTorch详细过程(个人过程仅供参考)

1.安装anaconda 2.创建一个虚拟环境 以上步骤默认已经完毕&#xff0c;毕竟只是记录pytorch的安装过程 3.查看个人电脑CUDA版本 winr 输入cmd 回车 输入指令 nvidia-smi 右上角为该电脑所支持的最高CUDA版本 输入命令 nvcc -V 图中即为该电脑所安装的CUDA版本 记住该版…

struct 和 class 的异同

在C编程语言中&#xff0c;struct和class是两个定义数据类型的关键字。尽管它们看起来相似&#xff0c;但它们之间有一些关键的异同。 基本定义 struct struct是从C语言继承而来的&#xff0c;它用于定义一个结构体&#xff08;structure&#xff09;&#xff0c;结构体是由…

C++编程逻辑讲解step by step:看懂值传递的本质

值传递&#xff1a; 形参是实参的复制品&#xff0c;改变形参的值并不会影响外部实参的值。从被调用函数的角度来说&#xff0c;值传递是单向的&#xff08;实参->形参&#xff09;&#xff0c;参数的值只能传入&#xff0c;不能传出。当函数内部需要修改参数&#xff0c;并…

C# Winform按钮避免重复点击以及解决WinForm中设置Enabled=False为什么还会响应Click事件

1、C# Winform按钮避免重复点击 代码如下 btn.Enablefalse; //执行任务的函数或代码 btn.Enabletrue; 在btn.Enabletrue前添加Application.DoEvents(); 就是让应用程序的消息队列自动走完&#xff08;即在按钮为Ture前清空消息队列&#xff09;。 2、解决WinForm中设置Enabl…

利用 fail2ban 保护 SSH 服务器

利用 fail2ban 保护 SSH 服务器 一、关于 fail2ban1. 基本功能与特性2. 工作原理 二、安装与配置1. Debian/Ubuntu系统&#xff1a;2. CentOS/RHEL系统&#xff1a; 三、保护 SSH四、启动 fail2ban 服务五、测试和验证六、查看封禁的 IP 地址七、一些配置八、注意事项 作者&…

动捕系统如何解决“超出捕捉范围”的挑战

惯性运动捕捉系统改变了我们捕捉运动的方式&#xff0c;使艺术家、创作者和独立工作室能够摆脱动捕实验室和复杂设置的限制。通过身体上的传感器和无线连接&#xff0c;动捕演员可以自由移动和并作出各种高难度动作。然而具有高自由度的惯性动捕系统&#xff0c;经常面临着超出…

筛斗数据全面解析数据提取与清洗的重要性

筛斗数据全面解析数据提取与清洗的重要性 在数字化时代&#xff0c;数据是企业决策的重要依据。然而&#xff0c;数据并非总是以我们期望的形式出现&#xff0c;它们可能分散、冗余、错误甚至不完整。因此&#xff0c;数据提取与清洗成为数据处理流程中不可或缺的两个环节。筛…

数学建模 —— 矩阵的运算(上)

目录 调用函数运算 sum : 求和函数 prod : 求乘积函数(product) cumsum : 计算累积和(cumulative sum) diff : 计算差分(difference) mean : 计算平均值 (average) median : 计算中位数 mode : 计算众数 var : 计算方差 (variance) std : 计 算 标 准 差 (standard d…

Swift有什么时候是深拷贝,什么时候是浅拷贝?

Swift深拷贝、浅拷贝 Swift有一个指引用类型,它什么时候是深拷贝,什么时候是浅拷贝? 在Swift中,引用类型主要包括类(class)。与值类型(如结构体和枚举)不同,类的实例是通过引用进行传递的。这意味着,当你将一个类的实例赋值给另一个变量时,你实际上是在复制引用,…

返利App的用户行为分析与数据驱动决策

返利App的用户行为分析与数据驱动决策 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们将深入探讨返利App中的用户行为分析与数据驱动决策的技术细节和实…

UE5(c++)开发日志(2):向日志和屏幕输出信息/将C++类变为蓝图类

通过UE_LOG()向日志输出&#xff0c;向其传入三个参数(①输出日志类型,一般LogTemp ②具体种类&#xff0c;普通/警告/错误&#xff0c;这里是Warning ③输出的文本内容&#xff0c;使用TEXT(" ")&#xff0c;这里是TEXT("Run AActor BeginPlay")) 代码写…

找茬找不同看图猜谜语小游戏

找茬找不同看图猜谜语小游戏&#xff1a;挑战你的观察力与智慧 &#x1f50d; 挑战你的观察力&#xff1a;找茬找不同 你是否曾对两张看似相同的图片感到好奇&#xff0c;想要找出它们之间的微妙差异&#xff1f;找茬找不同小游戏正是为了满足你的这种好奇心而设计的。在这些游…

大模型相关基础知识

1. 什么是大模型&#xff1f; 大模型&#xff08;Large Models&#xff09;通常指的是具有大量参数的深度学习模型。这些模型通常基于复杂的神经网络架构&#xff0c;如Transformer&#xff0c;被用于处理各种复杂任务&#xff0c;如自然语言处理&#xff08;NLP&#xff09;、…