界面编程之QT的基本介绍与使用20180722

/*******************************************************************************************/

一、qt介绍

Qt是一个跨平台的C++图形用户界面应用程序框架。它也是目前流行的Linux桌面环境KDE的基础

Qt5.3正式版,至此Qt实现了对iOS、Android、WP等各平台的全面支持

支持的平台

?    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

控件,部件,构件指的都是一个东西,只是叫法不同

信号和槽(信号的处理函数)

/*******************************************************************************************/

二、qt优点

qt最大的优点就是跨平台,(只要装了qt),无论在win,linux,android,ios都可以运行。

qt的学习都是调用一些封装好的api

查看api可以使用 qt帮助文档

/*******************************************************************************************/

三、qt应用程序框架

1.创建QT项目

qt项目路径不要有中文,项目名称也不要有中文

刚开始 创建界面 那个不要勾选,后面需要用到ui界面设计的时候才勾选。

同时,注意:

QMainWindow pc上用的,也就是带菜单栏的那种界面

QWidget 各种控件的基类,用的最多的

QDialog 对话框

编译并运行的快捷键 ctrl+r

2.项目创建后,自动生成QApplication应用程序类的说明

//QApplication应用程序类

//Qt头文件没有.h

//头文件和类名一样,并且基本都是Q开头,并且跟着的字母大写

#include <QApplication>

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

{

//有且只有一个应用程序类的对象

QApplication a(argc, argv);

//自己的具体业务代码 begin

//MyWidget继承于QWidget, QWidget是一个窗口(控件)基类

//所以MyWidget也是窗口类

//w就是一个窗口(对象)

MyWidget w;

//窗口创建默认是隐藏,需要人为显示,没有show就不会显示

w.show();

//自己的具体业务代码 end

//让程序一直执行,等待用户操作

//等待事件的发生

a.exec();

return 0;

}

class MyWidget中:

//Q_OBJECT //这是一个宏,信号与槽的时候需要,后面还会讲,//没有这种需要的时候可以不要,对于第一个测试程序来说就不需要了

/*******************************************************************************************/

四、项目文件(.pro文件)

每个应用程序都会对应一个.pro的项目文件,是自动生成的,.pro文件中:

#这个表示模块,这个是头文件需要的,也就是添加了头文件还不够,还要在这里添加头文件对应的模块。即头文件需要从模块中查找,因为头文件按模块分类了

#头文件对应模块的查找办法:头文件对应类名上按f1跳到对应的帮助文档,找到qmake:后面对应的就是需要加的内容

#见图1,qt具体有哪些模块见图2 其中Qt Webkit 是浏览器引擎 Qt Mulitmedia * 是多媒体,qt core qt gui是基本模块写不写都一样:

QT       += core gui

#高于4版本,添加 QT += widgets ,//为了兼容Qt4,如果是qt5直接QT += widgets即可,

#widgets是最核心最基本的,一般即使自己来创建个空项目(全部空的),.pro是空的,全部自己写也要包含这个

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

#应用程序的名字,也是窗口左上角显示的名字

TARGET = mike

#指定makefile的类型, 比如app,表示通过makefile生成一个可执行程序。如果是lib,则生成的是库

TEMPLATE = app

#源文件 .cpp文件

SOURCES += main.cpp\

mywidget.cpp

#头文件 .h文件

HEADERS  += mywidget.h

/*******************************************************************************************/

五、第一个qt程序

具体见《HelloQt》,这个是创建的空的项目,然后自己一步步添加的项目,具体如何创建空项目见图3:

main.c文件:

 1 #include <QApplication>
 2 #include <QWidget> //窗口控件基类
 3 #include <QPushButton>
 4
 5 int main(int argc, char **argv)
 6 {
 7     QApplication app(argc, argv);
 8
 9     QWidget w;
10     w.setWindowTitle(QString("主要看气质")); //设置标题
11
12     /*如果不指定父对象,对象和对象(窗口和窗口)没有关系,独立
13      * a指定b为它的父对象,a放在b的上面
14      * 指定父对象,有2种方式:
15      *            1)setParent
16      *            2)通过构造函数传参
17      * 指定父对象,只需要父对象显示,上面的子对象自动显示
18      */
19
20     QPushButton b;
21     b.setText("^_^"); //给按钮设置内容
22     b.setParent(&w); //指定父对象
23     b.move(100, 100); //移动坐标
24
25     QPushButton b1(&w); //通过构造函数传参
26     b1.setText("abc");
27
28     w.show();
29
30     app.exec();
31     return 0;
32 }

main.cpp

其中,

QWidget w;

w.setWindowTitle(QString("主要看气质")); //设置标题

原文地址:https://www.cnblogs.com/yuweifeng/p/9350733.html

时间: 2024-09-29 00:21:04

界面编程之QT的基本介绍与使用20180722的相关文章

界面编程之QT的线程20180731

/*******************************************************************************************/ 一.为什么需要使用线程 图形界面中一旦使用了线程休眠,图形界面就不会刷新(不会动),呈现卡住无响应的状态. 这是由于图形界面中是单线程的 所以  很复杂的数据处理 耗时长的,就需要创建线程. QThread 线程类, qt中的线程睡眠函数:QThread::sleep(); void MyWidget::on_

界面编程之QT绘图和绘图设备20180728

/*******************************************************************************************/ 一.绘图 整个绘图系统基于QPainter,QPainterDevice和QPaintEngine三个类: QPainter(画家)->QPaintEngine(中间引擎,画家与设备之间的交互(通信接口),对于应用开发一般用不上)->QpaintDevice(设备,表示画在哪里) 画图的时候就是要重写事件:

QT核心编程之Qt线程 (c)

QT核心编程之Qt线程是本节要介绍的内容,QT核心编程我们要分几个部分来介绍,想参考更多内容,请看末尾的编辑推荐进行详细阅读,先来看本篇内容. Qt对线程提供了支持,它引入了一些基本与平台无关的线程类.线程安全传递事件的方式和全局Qt库互斥量允许你从不同的线程调用Qt的方法.Qt中与线程应用相关的类如表6所示. 表6 Qt中与线程相关的类 使用线程需要Qt提供相应的线程库的支持,因此,在编译安装Qt时,需要加上线程支持选项. 当在Windows操作系统上编译Qt时,线程支持是在一些编译器上的一个

Qt编程之Qt样例表(QSS)

For a long time, Qt has allowed you to decorate your GUIs with CSS’ish style sheets. Inspired by the web, stylesheets are a great way to stylize your Qt GUI, but it seems that few people use them. In this tutorial, we’ll create an example dialog in Q

异步编程之Javascript Promises 规范介绍

什么是 Promises Promises是一种关于异步编程的规范,目的是将异步处理对象和处理规则进行规范化,为异步编程提供统一接口. 传统的回调函数 说到JavaScript的异步编程处理,通常我们会想到回调函数,如下面的代码: getFileAsync("1.txt", function(error, result){      if(error){          throw error;      }     // 取得成功时的处理 }); 上面的代码定义了一个获取文件内容的

python网络编程之C/S架构介绍

标签(空格分隔): c/s架构介绍 什么是C/S架构 C指的是client(客户端软件),S指的是Server(服务端软件),后续我们可以试着写个c/s软件实现服务器软件与客户端软件基于网络通信: 计算机基础知识 基础知识: 作为应用开发程序员,我们开发的软件都是应用软件,而应用软件必须运行于操作系统之上,操作系统则运行于硬件之上,应用软件是无法直接操作硬件的,应用软件对硬件的操作必须调用操作系统的接口,由操作系统操控硬件. 比如客户端软件想要基于网络发送一条消息给服务端软件,流程是: 1.客户

iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用

介绍: Grand Central Dispatch 简称(GCD)是苹果公司开发的技术.以优化的应用程序支持多核心处理器和其它的对称多处理系统的系统.这建立在任务并行运行的线程池模式的基础上的.它首次公布在Mac OS X 10.6 ,iOS 4及以上也可用. 设计: GCD的工作原理是:让程序平行排队的特定任务.依据可用的处理资源,安排他们在不论什么可用的处理器核心上运行任务. 一个任务能够是一个函数(function)或者是一个block. GCD的底层依旧是用线程实现,只是这样能够让程序

Qt编程之UI与控件布局

当然,大家都知道UI界面可以用Qt Designer在约束环境下设置编辑.ui文件,再将.ui文件转换成对应的ui_XXX.h文件,这头文件中的内容是:用C++语言实现真正的界面布局.uic -o "outputfile" "inputfile.ui"命令行可以转换 当然,也可以自己用C++来实现界面布局利用成员函数SetGeometry什么的,但是那样的开发效率就下降了,BUG概率引入的也会加大. 这篇文章很好的演示了只利用C++实现的界面设计布局: http:/

【转载】iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用

[转载]http://blog.csdn.net/totogo2010/article/details/8016129 iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用 分类: iOS开发进阶2012-09-25 16:22 35382人阅读 评论(32) 收藏 举报 目录(?)[+] 介绍: Grand Central Dispatch 简称(GCD)是苹果公司开发的技术,以优化的应用程序支持多核心处理器和其他的对称多处理系统的系统.这建立在任务并行执行的线程