【QT-百日筑基篇】功法有些小成,开始进行打怪升级-QT的实践第一课,创建Hello World的几种方法

|--------------------------------------------------------------------------------------|--------------------------------------------------------------------------------|
| 作者简介 | |
| 零基础学习Linux | QT的百日筑基 |
| 数据结构篇 | |


目录/索引

[打印"Hello World"](#打印"Hello World")

[方法一: 采用label(标签)的方法进行打印。](#方法一: 采用label(标签)的方法进行打印。)

[方法二: 采用使用编辑框进行编写](#方法二: 采用使用编辑框进行编写)

方法三:按钮的方式

QT的命名规范:

QT查询文档的方法:

QT坐标系:


我们经历过前面两篇文章的铺垫我们对于 Qt有了一些的认识现在让我们去理解其他的空间,打捞基础。 我们在初学C语言的时候第一个实践案例我想大多数都是打印一个"Hello World"的程序吧。 当然在QT中我们也将它作为入门的第一个练习的案例。

打印"Hello World"

方法一: 采用label(标签)的方法进行打印。

  1. 不使用代码进行空间的操作:

直接拖拽【Label】

  1. 使用代码进行操作:
cpp 复制代码
    QLabel* label=new QLabel(this);
    label->setText("Hello World");

方法二: 采用使用编辑框进行编写

我们一般使用的有两种编辑框

1: 单行编辑框QLineEdit

2: 多行编辑框QTestEdit

  1. 使用控件的方法进行编写:

运行的效果

2.代码的方式进行:

当然使用编辑框要包含对应的头文件

单行编辑框的头文件是QLineEdit

多行编辑框的头文件是QTextEdit

多行和单行一样的这里就不过多的进行演示了,道友们可以自己练习一下。

cpp 复制代码
    QLineEdit* le=new QLineEdit(this);
    le->setText("Hello World");

方法三:按钮的方式

方法三是一个很强大的妖兽我们想要打败他需要很长的路要走。

按钮: pushButton

1.控件的方式进行操作

在使用按钮创建的时候他会给我们一个Objectname那就相当于定义时的名字的体现。

按钮可点击但是点击之后并没有什么变化, 我们想要的是点击后他会跳转到某一页面或者是点击后变化成别的文字。

我们想要点击"Hello World"之后后面的文字会变成"你好的字眼"。

这时候我们就要使用对应的代码进行控制了。

cpp 复制代码
    connect(ui->pushButton,&QPushButton::clicked,this, &Widget::headle);

这些是有关信号的,关于信号我们下一篇会认真的进行讲解。

ui-> pushbutton 第一个参数是控件在桌面上是谁触发了这个按钮。

&QPushButton::clicked: 怎么出发信号, 这里是点击按钮触发这个信号。

this: 谁来接受这个信号。

&Widget::headle: 信号触发后要执行的操作。 这个需要我们自己来进行实现。

要在头文件中进行定义。

cpp 复制代码
void Widget::headle()
{
  ui->pushButton->setText("你好");
}

点击一下:

当然我们发现我们并不能再次点击回到"Hello World"。

我们想要再次点击后再次回到"Hello World"

所以我们要进行以下的操作:

将函数这样设计就能进行点击的操作了。

我们的test是查找文本。

cpp 复制代码
void Widget::headle()
{
    if(ui->pushButton->text()==QString("Hello World"))
    {
        ui->pushButton->setText("你好");
    }
    else
    {
         ui->pushButton->setText("Hello World");
    }
}
  1. 代码的方式
cpp 复制代码
    pb = new QPushButton(this);
    pb->setText("Hello World");
    connect(pb,&QPushButton::clicked,this, &Widget::headle);
cpp 复制代码
void Widget::headle()
{
    if(pb->text()==QString("Hello World"))
    {
        pb->setText("你好");
    }
    else
    {
         pb->setText("Hello World");
    }
}

这时候发出信号的不是ui上面的pushbutton而是我们对应的的变量pb了

我要那个函数中进行使用我们不能将局部的pb变量直接的使用, 需要我们把它放进一个类的属性(变量), 来进行全局的使用。

QT的命名规范:

大写字母进行分割我们的PushButton在QT中一般常用, 这种命名法叫做驼峰命名法。

用下划线进行分割像我们C++ 长用, 这种叫做蛇形命名法。

QT查询文档的方法:

我们可以鼠标放在想要查询的QT中的而一些方法然后按【F1】来进行查询表

或者我们在下载QT的时候有一个

也可以在里面进行查询

两种方式都可以进行使用。

QT坐标系:

在我们数学中的坐标系:

我们计算机中的坐标系:

QPushButton的父类是QWidget

QWidget无父元素其实也就是整个桌面。

我们之前的运行结果都是在右上角他是默认的(0,0)

我们可以通过move函数来进行对应位置的设置。

语法格式:move(x轴坐标参数, y轴坐标的参数)

你看它这样的位置进行移动了。

我们要怎么更好的进行控制呢?那就要了解它的单位了。

它的单位是像素和自己的电脑配置有关。

在我们的电脑中能看到对应的像素我的是2560x1600

相关推荐
长沙红胖子Qt1 小时前
项目实战:Qt(cpu趋近于零消耗)获取windows的cpu使用率和内存占用率
qt·cpu使用率·内存使用率
枕星而眠1 小时前
Linux 共享内存与信号量全解析:原理、实践与避坑指南
linux·c语言·开发语言·后端·ubuntu
Sanri.1 小时前
JavaScript基础语法6
开发语言·javascript·ecmascript
hhb_6181 小时前
JavaScript核心技术要点梳理与实战应用案例解析
开发语言·javascript·ecmascript
Mike117.1 小时前
GBase 8a DBLink 查询的落地边界和排查细节
开发语言·php
代码中介商1 小时前
C++ STL入门:vector与字符串流详解
开发语言·c++
Gofarlic_OMS1 小时前
CONVERGE CFD许可不够用?自动回收闲置,燃烧仿真随时跑
java·大数据·开发语言·架构·制造
重生之我是Java开发战士1 小时前
【Java SE】多线程(二):线程安全、synchronized、volatile与wait/notify详解
java·开发语言·安全
暗影八度1 小时前
OpenMetadata Python ingestion 开发环境搭建与运行文档
开发语言·python