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

一、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文件:

 #include <QApplication>
#include <QWidget> //窗口控件基类
#include <QPushButton> int main(int argc, char **argv)
{
QApplication app(argc, argv); QWidget w;
w.setWindowTitle(QString("主要看气质")); //设置标题 /*如果不指定父对象,对象和对象(窗口和窗口)没有关系,独立
* a指定b为它的父对象,a放在b的上面
* 指定父对象,有2种方式:
* 1)setParent
* 2)通过构造函数传参
* 指定父对象,只需要父对象显示,上面的子对象自动显示
*/ QPushButton b;
b.setText("^_^"); //给按钮设置内容
b.setParent(&w); //指定父对象
b.move(, ); //移动坐标 QPushButton b1(&w); //通过构造函数传参
b1.setText("abc"); w.show(); app.exec();
return ;
}

main.cpp

其中,

QWidget w;

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

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

  1. 界面编程之QT窗口系统20180726

    /*******************************************************************************************/ 一.坐标系统 ...

  2. 界面编程之QT的信号与槽20180725

    /*******************************************************************************************/ 一.指定父对 ...

  3. 界面编程之QT的数据库操作20180801

    /*******************************************************************************************/ 一.数据库连 ...

  4. 界面编程之QT的线程20180731

    /*******************************************************************************************/ 一.为什么需 ...

  5. 界面编程之QT的Socket通信20180730

    /*******************************************************************************************/ 一.linu ...

  6. 界面编程之QT的文件操作20180729

    /*******************************************************************************************/ 一.QT文件 ...

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

    /*******************************************************************************************/ 一.绘图 整 ...

  8. 界面编程之QT的事件20180727

    /*******************************************************************************************/ 一.事件 1 ...

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

    QT核心编程之Qt线程是本节要介绍的内容,QT核心编程我们要分几个部分来介绍,想参考更多内容,请看末尾的编辑推荐进行详细阅读,先来看本篇内容. Qt对线程提供了支持,它引入了一些基本与平台无关的线程类 ...

随机推荐

  1. 20155227《网络对抗》Exp2 后门原理与实践

    20155227<网络对抗>Exp2 后门原理与实践 基础问题回答 (1)例举你能想到的一个后门进入到你系统中的可能方式? 在非官方网站下载软件时,后门很可能被捆绑在软件中. 攻击者利用欺 ...

  2. 蒙提霍尔游戏 python 模拟

    本文使用蒙特卡罗方法验证蒙提霍尔游戏的结论. 以下代码,本人原创! 完整代码 import random # 蒙提霍尔游戏 def play_game(strategy='nonchange'): # ...

  3. OpenCV实战:人脸关键点检测(FaceMark)

    Summary:利用OpenCV中的LBF算法进行人脸关键点检测(Facial Landmark Detection) Author:    Amusi Date:       2018-03-20 ...

  4. JS设置状态栏

    JS设置状态栏可通过window.status = str来设置,在后台可通过 ClientScript.RegisterStartupScript( this.GetType(), "12 ...

  5. 利用Python实现App自动签到领取积分

    要自动签到,最简单的是打开页面分析请求,然后我们用脚本实现请求的自动化.但是发现食行没有页面,只有 APP,这不是一个好消息,这意味着需要抓包处理了. 有需要Python学习资料的小伙伴吗?小编整理[ ...

  6. 利用BFS实现最短路

    首先,我们要知道BFS的思想,BFS全称是Breadth-First-Search. 二叉树的BFS:通过BFS访问,它们的访问顺序是它们到根节点距离从小到大的排序. 图的BFS:同样的,离起点越近, ...

  7. kali linux 安装Nessus

    Nessus 介绍: Nessus 是目前全世界最多人使用的系统漏洞扫描与分析软件.总共有超过75,000个机构使用Nessus 作为扫描该机构电脑系统的软件. 下载Nessus,我的是64为,我选择 ...

  8. PAT甲题题解-1063. Set Similarity (25)-set的使用

    题意:两个整数集合,它们的相似度定义为:nc/nt*100%nc为两个集合都有的整数nt为两个集合一共有的整数注意这里的整数都是各不相同的,即重复的不考虑在内.给出n个整数集合,和k个询问,让你输出每 ...

  9. 20135202闫佳歆--week2 一个简单的时间片轮转多道程序内核代码及分析

    一个简单的时间片轮转多道程序内核代码及分析 所用代码为课程配套git库中下载得到的. 一.进程的启动 /*出自mymain.c*/ /* start process 0 by task[0] */ p ...

  10. jqgrid查找

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletExcepti ...