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 小时前
Redis构建缓存服务器
服务器·redis·缓存
乌鸦不像写字台1 小时前
【docker部署】在服务器上使用docker
服务器·docker·容器
互联网搬砖老肖3 小时前
运维打铁: MongoDB 数据库集群搭建与管理
运维·数据库·mongodb
Antonio9154 小时前
【音视频】HLS简介与服务器搭建
运维·服务器·音视频
典学长编程4 小时前
数据库Oracle从入门到精通!第四天(并发、锁、视图)
数据库·oracle
kfepiza4 小时前
Debian的`/etc/network/interfaces`的`allow-hotplug`和`auto`对比讲解 笔记250704
linux·服务器·网络·笔记·debian
无妄-20244 小时前
软件架构升级中的“隐形地雷”:版本选型与依赖链风险
java·服务器·网络·经验分享
积跬步,慕至千里5 小时前
clickhouse数据库表和doris数据库表迁移starrocks数据库时建表注意事项总结
数据库·clickhouse
R.X. NLOS5 小时前
VS Code远程开发新方案:使用SFTP扩展解决Remote-SSH连接不稳定问题
运维·服务器·ssh·debug·vs code
极限实验室5 小时前
搭建持久化的 INFINI Console 与 Easysearch 容器环境
数据库