Qt的第一个程序(2)

Qt的第一个程序(2)

  • 1.编辑框
  • [2.使用图形化实现hello world编辑框](#2.使用图形化实现hello world编辑框)
  • [3.使用代码实现hello world编辑框](#3.使用代码实现hello world编辑框)
  • [4.使用图形化实现hello world按钮](#4.使用图形化实现hello world按钮)
  • [5.使用代码实现hello world按钮](#5.使用代码实现hello world按钮)
  • 6.图形化VS代码
  • 7.变量命名
  • 8.查询文档

🌟🌟hello,各位读者大大们你们好呀🌟🌟

🚀🚀系列专栏:【Qt的学习】

📝📝本篇内容:编辑框;使用图形化实现hello world编辑框;使用代码实现hello world编辑框;使用图形化实现hello world按钮;使用代码实现hello world按钮;图形化VS代码;变量命名;查询文档

⬆⬆⬆⬆上一篇:Qt的第一个程序

💖💖作者简介:轩情吖,请多多指教(>> •̀֊•́ ) ̖́-

1.编辑框

我们之前实现的hello world是使用的是标签,但是其实显示hello world不仅仅是标签,还有其他的,就比如现在说的编辑框,编辑框分为单行编辑(QLineEdit)和多行编辑框(QTextEdit),如下图因此我们也有两种实现的办法:代码或者图形化,使用方法和前面讲的标签其实差不多

2.使用图形化实现hello world编辑框


3.使用代码实现hello world编辑框

4.使用图形化实现hello world按钮

我们也可以使用按钮来显示hello world,当然按钮按钮肯定有它的功能,具体后面讲,先让他把hello world显示出来


这其实非常简单,然后我们接下来就要使用一下按钮的功能,众所周知,按钮是一个按下去会产生一些效果的东西。因此在Qt中就引入了信号槽的机制,简单来说就是需要有一个函数来处理我们按钮按下去的信号,给按钮的点击操作关联一个处理函数,当用户点击的时候就执行这个处理函数。

Qt中提供了一个函数connect()来连接"信号"和"槽(处理函数)",这个函数是QObject这个类提供的一个静态函数

上面的代码主要是演示了connect的使用方法,我们先大致看一下,主要功能就是实现了一个按钮按下去后可以在hello world和hello Qt之间进行切换

我们来详细看看这份代码的细节,首先我们的connect中怎么做到用ui指向的pushButton,我们首先要知道我们的ui是怎么回事,它其实是qmake自动生成的,我们刚创建完项目它就存在了,通过它我们可以操控Widget.ui中的控件

我们再来看一下qmake根据widget.ui自动生成的一个头文件,在我们项目的路径下会生成的一个build文件,前面演示过

我们之所以能够使用pushButton就是因为我们继承了Ui_Widget这个类,并且我们发现pushButton这个成员变量的名字是根据objectName来命名的(我们进行进行修改,修改成什么,变量的名字就是什么),通过这个名字我们可以获取到对应的控件变量

5.使用代码实现hello world按钮


6.图形化VS代码

一般来说如果当前程序界面,界面内容是比较固定的,此时就会以图形化的方式来构造界面。但是如果程序界面经常要动态变化,此时就会以代码的方式来构造界面。总的来说哪种方便使用哪种,互相配合着来。

7.变量命名

hello_world_button这种被称之为蛇形命名法,C/C++/Python用的较多

像Qt中QPushButton这种被称之为驼峰命名法,使用大写字母来进行分割,一般分为大驼峰和小驼峰,大驼峰是用于类名的,如QWidget,小驼峰用于变量名和函数,如pushButton和setText()。Java/Go/JS用的较多

总的来说驼峰命名法用的比较多,在这里讲的意义主要是为了更好在Qt中进行区分理解

8.查询文档

查询文档一共有三种方法,其中一种之前讲过,就是我们开始菜单中的Assistant

第二种方法是在代码中点击想要查询的类或者函数,然后点击F1即可

第三种方法是在Qt Creator中选择左侧栏中的"帮助"

🌸🌸Qt的第一个程序(2)大概就讲到这里啦,博主后续会继续更新更多Qt的相关知识,干货满满,如果觉得博主写的还不错的话,希望各位小伙伴不要吝啬手中的三连哦!如有小伙伴需要Qt的安装包可以私信我,你们的支持是博主坚持创作的动力!💪💪

相关推荐
熊文豪1 分钟前
金仓数据库如何以“多模融合“重塑文档数据库新范式
数据库·金仓数据库·电科金仓·mongodb迁移
阿波罗尼亚4 分钟前
Kubectl 命令记录
linux·运维·服务器
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.15 分钟前
Keepalived单播模式配置与实战指南
linux·服务器·负载均衡
IDC02_FEIYA21 分钟前
Linux文件搜索命令有哪些?Linux常用命令之文件搜索命令find详解
linux·运维·服务器
霖霖总总25 分钟前
[小技巧56]深入理解 MySQL 聚簇索引与非聚簇索引:原理、差异与实践
数据库·mysql
Dreamboat-L33 分钟前
Redis及其两种持久化技术详解
数据库·redis·缓存
伐尘35 分钟前
【MySQL】间隙锁 与 排他锁 的区别
数据库·mysql
浒畔居1 小时前
机器学习模型部署:将模型转化为Web API
jvm·数据库·python
M158227690551 小时前
四通道全能组网!SG-Canet-410 CAN转以太网网关,破解工业CAN通信瓶颈
linux·运维·服务器
誰能久伴不乏1 小时前
【Qt实战】工业级多线程串口通信:从底层协议设计到完美收发闭环
linux·c++·qt