【Qt】Qt编程注意事项
目录
Qr中的命名规范
Qt Creator中的快捷键
查询文档的方式
Qt窗口坐标体系
Qr中的命名规范
在学习编程语言阶段,给变量、函数、文件、类命名是非常有讲究的。
- 命名要有描述性,不要使用abc,xyz这种比较无规律的名字类描述。
- 如果名字比较长,由多个单词构成的,就需要使用适当的方式来进行区分不同的命名。
下面有俩种在编程时经常会遇到的命名风格:
1.蛇形命名法
使用_进行单词的风格,例如unordered_map
2.驼峰命名法
在Qt种,偏好使用这种大写字母进行单词分割的命名风格,例如ListNode
Qt中的命名规范:
- 类名:大驼峰命名法,首字母大写,单词与单词之间首字母大写。
- 函数名及变量名:小驼峰命名法,首字母小写,单词与单词之间首字母大写。
在编程界,驼峰命名法的使用程度比蛇形命名法更加广泛。C/C++/python偏好蛇形命名,Java/js/Go偏好驼峰命名法。
Qt Creator中的快捷键
- 注释:ctrl + /
- 运行:ctrl + R
- 编译:ctrl + B
- 字体缩放:ctrl + 鼠标滑轮
- 查找:ctrl + F
- 整行移动:ctrl + shift + 上 / 下
- 帮助文档:F1
- 自动对齐:ctrl + i
- 同名之间的.h和.cpp的切换:F4
- 生成函数声明的对应定义:alt + enter
查询文档的方式
在使用Qt中,打开帮助文档的方式有三种:
1.光标放到要查询的类名/方法名上,直接按F1
2.Qt Creator左侧边栏中直接用鼠标单击“帮助”按钮。
3.找到Qt Creator的按照路径,在"bin"文件夹下面找到assistant.exw,双击打开。
【注意】一定需要有查询文档的意识。
Qt窗口坐标体系
在数学中有一种平面直直角坐标系,也称为笛卡尔坐标系。
坐标系的原点(0,0)就是屏幕的左上角/窗口的左上角。
给Qt的某个控件设置位置,就需要指定坐标,对于控件来说,坐标点就是相当于父窗口/父控件的。
例如上图,QPushButton的父元素/父控件/父窗口就是Qwidget;
而QWidget没有父元素(NULL),就相当于父元素就是整个显示器桌面。
#include "widget.h"
#include "ui_widget.h"#include<QPushButton>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);QPushButton* button = new QPushButton(this);button->setText("进入");
}Widget::~Widget()
{delete ui;
}
当我们设置一个Qt按钮,其坐标位置时默认的,在左上角。
此时,默认情况下,按钮就是在(0,0)位置,即左上角。
通过move函数可以来设置按钮的位置。
这里move的数值单位是:像素。
像素是指由图像的小方格组成的,这些小方块都有一个明确的位置和被分配的色彩数值,小方格颜色和位置就决定该图像所呈现出来的样子。
可以将像素视为整个图像中不可分割的单位或者是元素。不可分割的意思是它不能够再切割成更小单位抑或是元素,它是以一个单一颜色的小格存在 [1]。每一个点阵图像包含了一定量的像素,这些像素决定图像在屏幕上所呈现的大小。
可以将Widget窗口移动位置。
#include "widget.h"
#include "ui_widget.h"#include<QPushButton>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);this->move(200,400);QPushButton* button = new QPushButton(this);button->setText("进入");button->move(200,250);
}Widget::~Widget()
{delete ui;
}
相关文章:

【Qt】Qt编程注意事项
目录 Qr中的命名规范 Qt Creator中的快捷键 查询文档的方式 Qt窗口坐标体系 Qr中的命名规范 在学习编程语言阶段,给变量、函数、文件、类命名是非常有讲究的。 命名要有描述性,不要使用abc,xyz这种比较无规律的名字类描述。如果名字比较…...
在Linux系统安装Kafka
注意:我的是在云服务器上基于Docker配 在防火墙上放行端口号 2181(Zookeeper) 9092(Kafka) 一、先配置 Docker 守护进程(daemon)的镜像加速器(registry mirrors) sudo mkdir -p /etc/docker sudo tee /etc/docker/da…...
【CSharp】简单定义一个异步方法
【CSharp】定义一个异步方法 1.背景2.异步方法3.代码说明1.背景 相关博客: 【CSharp】使用异步事件处理程序和委托来进行异步调用 https://blog.csdn.net/jn10010537/article/details/140898179在 C# 中,异步方法和同步方法是两种执行代码的方式, 它们主要区别在于处理任务…...

贪心算法之货仓选址问题
#include<stdio.h> #include<stdlib.h> #include<math.h>//贪心算法之货仓选址问题/*** void* p是万能指针,可以和其它任意类型的指针进行转换,前提是确保转换是合法的*/ //写好用于qsort的比较函数,这里写的函数一般用于…...

Java网络编程——Request Response 对象
Response - 网页 上一章我们学习了 Java 中使用 Okhttp3 库请求网页或调用 API 的知识。 使用一条语句执行调用请求,并取得返回结果字符串: call.execute().body().string()execute() 方法是真正执行发送请求,前面的一系列代码是做前置准备…...
【代码随想录训练营第42期 Day24打卡 回溯Part3 - LeetCode 93.复原IP地址 78.子集 90.子集II
目录 一、做题心得 二、题目与题解 题目一:93.复原IP地址 题目链接 题解:回溯--分割问题 题目二:78.子集 题目链接 题解:回溯--子集问题 题目三:90.子集II 题目链接 题解:回溯--子集问题 三、小…...
python venv和virtualenv详解
一、venv简介 C:\Users\love1>python -m venv -h usage: venv [-h] [--system-site-packages] [--symlinks | --copies] [--clear] [--upgrade] [--without-pip][--prompt PROMPT] [--upgrade-deps]ENV_DIR [ENV_DIR ...]该命令用于在一个目录或者多个目录中创建一个虚拟的…...

《征服数据结构》树堆(Treap)
摘要: 1,Treap的介绍 2,Treap节点的插入 3,Treap节点的删除 4,Treap和笛卡尔树的区别 1,Treap的介绍 Treap又叫树堆,属于一种自平衡二叉搜索树,是由单词Tree和Heap构成,是…...

论文笔记:OneBit: Towards Extremely Low-bit Large Language Models
202402 arxiv 1 背景 模型量化主要通过把模型的线性层【nn.Linear】(Embedding 层和 Lm_head 层除外)转化为低精度表示实现空间压缩 此前工作的基础是利用 Round-To-Nearest(RTN)方法把高精度浮点数近似映射到附近的整数网格然而…...
英语文化中的音乐分类及其发展历史(Classical、Jazz、Rock、Pop、Electronic、Country、RB、Hip-Hop)
文章目录 英语文化中的音乐分类及其发展历史1. 简介2. 古典音乐 (Classical Music)2.1 起源与发展2.2 技术与风格 3. 爵士音乐 (Jazz Music)3.1 起源与发展3.2 技术与风格 4. 摇滚音乐 (Rock Music)(Rock and roll)4.1 起源与发展4.2 技术与风格 5. 蓝调…...

C语言-栈、队列、二叉树
12 栈、队列、二叉树 目录 12 栈、队列、二叉树 一、栈、队列、二叉树是什么? 二、栈 1. 特点:先进后出 -- 有底的盒子 2. 使用场景:函数调用 -- 中断机制 3. 实现栈的形式: 三、队列 1. 特点:先进先出 -- 水…...

pinia-plugin-persistedstate 插件不生效
引入使用该插件使用时发现不生效 原因:pinia实例调用顺序不当 将: // import ./assets/main.css import { createApp } from vue import { createPinia } from pinia import piniaPluginPersistedstate from pinia-plugin-persistedstate import App fr…...
sqlite 合并两个数据库中的特定表
sqlite 合并两个数据库中的特定表 命令行python 版本 命令行 .open v1/mydb.db attach v2/mydb.db as db2; insert into main.表1 select * from db2.表1; insert into main.表2 select * from db2.表2; .exit参数说明v1/mydb.db主db文件路径,合并后的结果就是它…...
winform中设置DateTimePicker参数为空
在C#中,使用DateTimePicker控件时,您可以将其Value属性设置为null或者DateTime.MinValue来表示没有选定的日期或时间。以下是如何设置默认值为空的示例代码: dateTimePicker1.Value DateTime.MinValue; 或者,如果您希望用户不能…...
Python爬虫(8)
JsonPath介绍使用 JsonPath是一种轻量级的查询库,可以从JSON文本数据中进行筛选和提取操作。有点类似于使用XPath在HTML数据中提取数据的功能。JsonPath 也可以通过使用类似于 XPath 的表达式来访问 JSON对象中的属性和元素,并支持通配符、筛选器和函数…...

靓图!多点创新!CEEMDAN-Kmeans-VMD-CNN-LSTM-Attention双重分解+卷积长短期+注意力多元时间序列预测
靓图!多点创新!CEEMDAN-Kmeans-VMD-CNN-LSTM-Attention双重分解卷积长短期注意力多元时间序列预测 目录 靓图!多点创新!CEEMDAN-Kmeans-VMD-CNN-LSTM-Attention双重分解卷积长短期注意力多元时间序列预测效果一览基本介绍程序设计…...
zdpgo_gin_limit 为zdpgo_gin打造的接口限流框架,当API接口需要限制访问频率的时候可以使用此框架
zdpgo_gin_limit 为zdpgo_gin打造的接口限流框架,当API接口需要限制访问频率的时候可以使用此框架 安装 go get github.com/zhangdapeng520/zdpgo_gin_limit使用教程 基于内存的限流 package mainimport (gin "github.com/zhangdapeng520/zdpgo_gin"…...
Java1234的Vue学习笔记
第一节 vue.js简介 简介 第二节 vue开发工具 vscode 第三节:vue HelloWorld实现 理解vue双向绑定v-model的概念 底层数据改变视图对应显示会变,视图绑定数据变会影响底层数据,对应MVVM模式http://blog.java1234.com/blog/articles/510.html <!DOCTYPE html> <…...
嵌入式八股-C++面试91题(20240809)
1. 讲一讲封装、继承、多态是什么? 封装:将具体实现过程和数据封装成一个类,只能通过接口进行访问,降低耦合性,使类成为一个具有内部数据的自我隐藏能力、功能独立的软件模块。 意义:保护代码防止被破坏&…...

如何恢复误删视频?找回误删视频文件的办法分享
在数字化时代,视频已成为我们生活中不可或缺的一部分,记录着珍贵的回忆、工作资料或是学习素材。然而,在电脑上一不小心误删视频文件,该怎么办?视频误删怎么恢复?有什么小技巧可以找回删除的视频࿱…...

SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...

DAY 47
三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...

如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...