跨平台开发工具Qt教程:如何编译程序

翻译|使用教程|编辑:鲍佳佳|2020-08-14 14:54:21.090|阅读 29 次

概述:Qt作为一个跨平台的c++开发工具,前面我们已经讲解了如何通过使用Qt开发GUI程序,本节我们将讲解如何对程序进行编译,以及编译必经的三个步骤是什么,以及如何通过代码生成实现。

# 正版采购狂欢节,企业采购正当时 #

相关链接:

Qt(发音为“ cute”,而不是“ cu-tee”)是一个跨平台框架,通常用作图形工具包,它不仅创建CLI应用程序中也非常有用。而且它也可以在三种主要的台式机操作系统以及移动操作系统(如Symbian,Nokia Belle,Meego Harmattan,MeeGo或BB10)以及嵌入式设备,Android(Necessitas)和iOS的端口上运行更多Qt产品详情点击这里》》

点击下载Qt最新试用版

Qt程序如何编译

Qt Creator为我们调用了构建系统,但是了解Qt程序编译的过程也是一件有趣的事。对于小型程序,手动编译所有内容,创建目标文件然后进行链接很容易。但是对于大型项目,命令行很容易编写。如果您熟悉Linux,则可能知道所有程序都是使用描述所有要执行的命令行的makefile进行编译的。但是对于某些项目,编写makefile也可能会感觉乏味。

qmake是Qt附带的构建系统,它会为您生成那些makefile(还有其他可以使用的makefile,但是我们在这里给出qmake的示例)。使用简单的语法,它会生成用于编译Qt程序的makefile。但这不是它的唯一功能。Qt使用元对象来扩展C ++功能,而qmake负责准备一个包含此元对象提取阶段的makefile。您将在另一章中看到。

因此,Qt应用程序分3个步骤进行编译

  1. 编写一个.pro文件来描述要编译的项目
  2. 使用qmake生成一个makefile
  3. 该程序是使用make(或Windows上的nmakejom构建的
按钮

本章概述了小部件模块。它将介绍小部件属性,小部件中使用的继承方案等。接下来我们将对这些按钮进行一些自定义。

Qt对象具有许多可以使用getter和setter修改的属性。在Qt中,如果一个属性称为foo,则关联的getter和setter将具有这些签名

Tfoo() const;
void setFoo(const T);

实际上,Qt将属性,获取器和设置器的系统扩展到称为property的东西。属性是可以访问,修改或常量并且可以通知更改的任何类型的值。属性系统很有用,尤其是在第三部分(QML)中。现在,我们将使用“属性”或“属性”来做同样的事情。

QPushButton具有很多属性:

  • 文本
  • 字形
  • 工具提示
  • 图标
  • ...

因此,我们可以使用它们来自定义按钮。

我们首先更改文本并添加工具提示

#include 
#include 

int main(int argc, char **argv)
{
 QApplication app (argc, argv);

 QPushButton button;
 button.setText("My text");
 button.setToolTip("A tooltip");
 button.show();

 return app.exec();
}

结果如下:


我们还可以更改字体。在Qt中,字体用QFont类表示。该文档提供了大量信息。我们在这里特别关注QFont的构造函数之一。

QFont(const QString & family, int pointSize = –1, int weight = -1, bool italic = false)

为了更改字体,我们必须实例化QFont类,然后使用setFont将其传递给QPushButton。以下代码片段会将字体更改为Courier。

QFont font ("Courier");
button.setFont(font);

您可以尝试使用QFont构造函数的其他参数来重现本章第一张图片中所示的按钮。

设置图标也不是很困难。QIcon类表示一个图标。如果文件系统中具有绝对(或相对)路径,则可以创建一个图标。我建议在此示例中提供绝对路径。但是出于部署方面的考虑,您可以使用相对路径,或者更好地使用资源系统。

QIcon icon ("/path/to/my/icon/icon.png");
button.setIcon(icon);

在Linux和其他某些OS上,有一种方便的方法可以通过图标主题设置图标。可以使用静态方法来完成:

QIcon Qicon::fromTheme ( const QString &name, const QIcon &fallback = QIcon());

例如,在本章开始的屏幕截图中,笑脸来自Oxygen KDE图标主题,其设置方式是:

button.setIcon(QIcon::fromTheme("face-smile"));

今天分享的内容就到这里,下一篇文章中我们讲解Qt类层次,更多Qt产品详情点击这里》》

如果你对我们的产品感兴趣或者有任何疑问,欢迎咨询慧都在线客服>>

慧都高端UI界面开发


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,尊重他人劳动成果

文章转载自:Qt

登录 慧都网发表评论


暂无评论...

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
title
相关厂商
相关产品
Qt

一个跨平台的C++图形用户界面应用程序开发框架。

在线
客服
咨询
电话
400-700-1020
在线
QQ
购物车 反馈 返回
顶部
在线客服系统
live chat