界面编程之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

利用 TensorFlow 训练自己的目标识别器。本文内容来自于我的毕业设计,基于 TensorFlow 1.15.0,其他 TensorFlow 版本运行可能存在问题。.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值