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

相关推荐
ZZH1120KQ13 分钟前
ORACLE的用户维护与权限操作
数据库·oracle
奇树谦18 分钟前
Qt|槽函数耗时操作阻塞主界面问题
开发语言·qt
妮妮喔妮21 分钟前
图片上传 el+node后端+数据库
javascript·数据库·vue.js
苕皮蓝牙土豆5 小时前
Qt 分裂布局:QSplitter 使用指南
开发语言·qt
beyoundout5 小时前
HAproxy
linux·运维·服务器
仰望星空的凡人6 小时前
【JS逆向基础】数据库之MongoDB
javascript·数据库·python·mongodb
qq_218753317 小时前
服务器查日志太慢,试试grep组合拳
运维·服务器
duration~7 小时前
PostgreSQL并发控制
数据库·postgresql
给力学长8 小时前
自习室预约小程序的设计与实现
java·数据库·vue.js·elementui·小程序·uni-app·node.js
Jie_178 小时前
【linux】高可用集群Keepalived
linux·运维·服务器