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的安装包可以私信我,你们的支持是博主坚持创作的动力!💪💪

相关推荐
流星白龙9 小时前
【MySQL高阶】26.事务(1)
数据库·mysql
三十..9 小时前
Redis 核心原理与高可用架构实践
运维·数据库·redis
这个DBA有点耶10 小时前
索引优化深潜(下):索引合并、ICP 与索引设计的实战法则
数据库·mysql·架构
努力努力再努力wz10 小时前
【内存管理与高并发内存池系列】从 mmap 到 malloc:文件映射、匿名映射与 glibc 内存分配机制详解
linux·c语言·数据结构·数据库·c++·qt·链表
JdSnE27zv10 小时前
Qt 操作SQLite数据库
数据库·qt·sqlite
tedcloud12310 小时前
HyperFrames部署教程:用HTML生成MP4视频
前端·数据库·人工智能·html·音视频
布朗克16810 小时前
25 IO流高级操作——序列化、NIO与Files工具类
java·数据库·io·nio
阿演10 小时前
DataDjinn 新版本更新:新增 Oracle 支持,查询窗口、表预览和连接树继续打磨
数据库·oracle·ai编程·数据库连接工具
lixora11 小时前
Oracle 11g Active Data Guard Go 自动化部署工具 v1.0
数据库·oracle
Nturmoils11 小时前
自增主键别只会 auto_increment,先把值从哪来讲清楚
数据库·后端