Bootstrap

Qt——基础

一.Qt是什么

Qt是⼀个跨平台的、面向对象的 C++ 图形⽤⼾界⾯应⽤程序框架,用于进行客户端开发。

客户端,即与用户打交道的程序,例如手机,电脑上的各种应用程序等。客户端背后,需要有服务端来维持,即我们程序员所写的底层代码。

大部分客户端都需要服务器做支撑,但是也有不需要服务器的,一般为一下简易的无需网络的小程序。比如计算器等。

我们所分享的Qt,是用来进行桌面级应用开发的,即电脑上的应用程序。

客户端开发有两个重要任务:编写代码,设计和用户交互的界面。

和用户交互的界面有两种典型风格

  • 命令行界面/终端界面(即黑框框),称为TUI,一般是设计一些给程序员使用的专业软件。
  • 图形化界面,称为GUI,即给普通用户使用的软件。

Qt就是用来编写桌面的GUI程序的一套框架


二.Qt 的优点

  • 跨平台,⼏乎⽀持所有的平台;
  • 接⼝简单,容易上⼿,学习 QT 框架对学习其他框架有参考意义。
  • ⼀定程度上简化了内存回收机制;
  • 开发效率⾼,能够快速的构建应⽤程序。
  • 有很好的社区氛围,市场份额在缓慢上升。
  • 可以进⾏嵌⼊式开发。

三.Qt基础编程

1.HelloWorld

(1)界面实现

创建好基础项目之后,可以双击项目下Forms文件中的widget.ui文件,随后会进入界面设计

在设计界面找到label标签, 拖动到中间的设计框中,然后就可以在标签中编辑“Hello World”。

之后运行即可实现在界面中打印Hello World。


(2)代码实现

代码实现标签打印“Hello World”,我们需要在widget.cpp文件中创建Qlabel对象来实现,在Qt中,使用对应的类需要包含对应的头文件,所以我们需要包含Qlabel头文件:

推荐通过new方式在堆上创建对象,随后调用setText函数,就可以实现:

 在上述代码中我们注意到,Qlabel在创建对象时传了一个thisthis为QWidget对象,这样做的目的,是为了构建起Qt对象树,这样QWidget就成为了Qlabel的父节点

通过对象树,能够把界面上我们所使用的各种控件对象给组织起来,最主要的目的,是为了在合适的时机(窗口关闭或销毁),把这些对象统一进行释放

这就是为什么推荐使用new创建对象的原因,这样可以把对象的生命周期交给对象树来统一管理。 

从生成的界面中能够看出,用代码实现的标签默认在界面的左上角打印,可以通过move函数来选择标签要打印的位置,其中move的参数分别为界面的x坐标(向右)、y坐标(向下),单位为像素


当然除了上述标签方式打印“Hello World”之外,我们也可以通过文本编辑框

Line Edit:单行编辑

Text Edit:多行编辑

文本编辑框同样可以直接在界面实现或者编码实现,还有更多方式这里就不过多分享。


悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;