抠百科
手机版
 您现在的位置:  首页 > 生活常识 >

qt是什么意思(QT基础)

100次浏览     发布时间:2024-11-18 08:16:55    

一、Qt简介

1、什么是Qt

QT是一个跨平台的C++图形用户界面应用程序框架。它为应用程序开发者提供建立艺术级图形界面所需的所有功能。它是完全面向对象的,很容易扩展。包括一套跨平台的类库、一套整合的开发工具和一个跨平台的集成开发环境(IDE)。

2、Qt支持的平台

Windows – XP、Vista、Win7、Win8、Win2008、Win10

Uinux/X11 – Linux、Sun Solaris、HP-UX、Compaq Tru64 UNIX、IBM AIX、SGI IRIX、FreeBSD、BSD/OS、和其他很多X11平台

Macintosh – Mac OS X

Embedded – 有帧缓冲支持的嵌入式Linux平台,Windows CE

3、Qt的安装

Linux离线安装:

sudo ./qt-opensource-linux-x86-5.5.1.run

Sudo cp /opt/5.5.1/gcc/bin/qmake /usr/bin

Windows下离线安装:直接双击安装软件即可

二、创建Qt项目

1、使用向导创建:

打开Qt Creator 界面选择 New Project或者选择菜单栏 【文件】-【新建文件或项目】菜单项弹出New Project对话框,选择Qt Widgets Application,

选择【Choose】按钮,弹出如下对话框

设置项目名称和路径,按照向导进行下一步

选择编译套件

向导会默认添加一个继承自MainWindow的类,可以在此修改类的名字和基类(我们目前一般选QWidget作为基类)。继续下一步

即可创建出一个QT桌面程序。

2、手动创建

(1)添加一个空项目

选择【choose】进行下一步。设置项目名称和路径 —> 选择编译套件 --> 修改类信息 --> 完成(步骤同上),生成一个空项目。

(2)在空项目中添加文件:在项目名称上单击鼠标右键弹出右键菜单,选择【添加新文件】

弹出新建文件对话框

在此对话框中选择要添加的类或者文件,根据向导完成文件的添加。

三、第一个简单的Qt应用程序

#include <QApplication>

#include <QWidget>//引用窗口类声明的头文件

int main(int argc, char *argv[])//入口函数

{

QApplication a(argc, argv);//GUI事件处理对象

QWidget w;//定义窗口类对象

w.show();//显示窗口

return a.exec();//事件循环

}

说明:

Qt头文件没有.h后缀,Qt中一个类对应一个头文件,类名就是头文件名。

QApplication应用程序类

管理图形用户界面应用程序的控制流和主要设置。

是Qt的整个后台管理的命脉它包含主事件循环,在其中来自窗口系统和其它资源的所有事件处理和调度。它也处理应用程序的初始化和结束,并且提供对话管理。

对于任何一个使用Qt的图形用户界面应用程序,都正好存在一个QApplication 对象,而不论这个应用程序在同一时间内是不是有0、1、2或更多个窗口。

QWidget是QT的窗口基类,所有的窗口都由其派生而来。

a.exec()

程序进入消息循环,等待对用户输入进行响应。这里main()把控制权转交给Qt,Qt完成事件处理工作,当应用程序退出的时候exec()的值就会返回。

四、信号和槽机制

当我们改变一个部件时,往往想要让另一个部件知道,如按下一个按钮,整个窗口退出。可以这样来描述该机制:当点击按钮时按钮会自动产生一个clicked()信号 ,我们将这个信号连接到窗口的quit()槽函数上,这样在点击按钮时就会自动运行窗口的quit()槽函数。

信号和槽的连接:

为了体验一下信号槽的使用,我们以一段简单的代码说明:

#include <QApplication>

#include <QPushButton>

int main(int argc, char *argv[])

{

QApplication app(argc, argv);


QPushButton button("Quit");

QObject::connect(&button, &QPushButton::clicked,

&app, &QApplication::quit);

button.show();

return app.exec();

}

我们按照前面介绍的在 QTCreator 中创建工程的方法创建好工程,然后将main()函数修改为上面的代码。点击运行,我们会看到一个按钮,上面有“Quit”字样。点击按钮,程序退出。

connect()函数最连接信号与槽常用的一般形式:

connect(sender, signal, receiver, slot);

参数:

sender:发出信号的对象

signal:发送对象发出的信号

receiver:接收信号的对象

slot:接收对象在接收到信号之后所需要调用的函数


相关文章

  • 面对《战锤40k:星际战士2》这款深受科幻迷喜爱的动作射击游戏,玩家们往往满怀期待地准备踏上星际征途,然而,登录失败的问题却如同一块绊脚石,让这份期待瞬间落空。当遇到这种情况时,UU网络优化工具便成为了许多玩家心中的救星。《战锤40k:星际战士2》以其宏大的背景设定、丰富的角色设定和刺激的战斗体验,
    2025-05-08 03:11:45
  • 长寿花卷叶子有可能是因为盆土过于贫瘠,根系无法舒畅吸收养分导致。每隔2年换盆换土1次为宜;光照过强,灼伤叶片也会导致卷叶子。要适当遮荫,在夏季要养在阴凉通风的环境中;温度不适导致卷叶子,最好将生长环境温度控制在15-25℃之间,保证植株健康成长;缺水干旱,积水烂根都会卷叶子,日常浇水要做到干透浇透;
    2025-05-08 02:23:55
  • 在《瓦罗兰特:无畏契约》这个充满策略与技巧的射击游戏世界里,每一位玩家都渴望成为那个引领风骚的战术大师。然而,在踏上这场冒险之前,不少玩家却遭遇了注册不了的尴尬困境,仿佛被一扇无形的门挡在了游戏的大门之外。 面对这突如其来的挑战,我们不必沮丧,因为总有方法能够破解这道难题。以下便是几个实用的解决方案
    2025-05-07 03:47:54
  • 随着《胡闹厨房》的风靡,近年来的聚会合作向的独立游戏也如雨后春笋一样冒出。这些游戏题材玩法各异,但也不约而同地往“友情粉碎机”的方向所靠拢。不同题材的聚会游戏都能散发出不一样的魅力,今天介绍的这款《胡闹装修 Tools Up!》也是一样,在众多聚会中展现出了自己不一样的特点。上手体验虽然装修在现实生
    2025-05-07 02:06:07
  • 龙与魔术师是游戏王永恒不变的主题,不过实际由于K社龙癌,相对来说魔术师们式微,不过龙与魔术师之间并不是没有相性,此卡组就以魔法师族做主轴运转,用龙族做终端。卡组 风灵媒师 薇茵3,圣魔之大贤者 恩底弥翁3,风魔女-冰铃3,增殖的G2,绝火之大贤者 琐罗亚3,风魔女-玻璃铃2,灰流丽3,朔夜时雨2,
    2025-05-06 00:53:06
  • 晒被子是很多人在家居保洁方面的一个传统做法,特别是在季节交替的时候。人们晒被子的主要原因是为了杀死螨虫,保证被子干爽,除此之外,还有一些其他的好处。但是,晒被子真的能够杀死螨虫吗?让我们一起来了解一下。首先,需要明确的是,螨虫并不是一种可以被肉眼所看到的昆虫。它们是一种微小的无节肢动物,其大小只有0
    2025-05-06 00:42:14