Qt源码中添加main.cpp文件-KC08141206-d02(精)

合集下载

qtmainwindow main 函数

qtmainwindow main 函数

qtmainwindow main 函数
在Qt中,`main`函数是程序的入口点,就像在其他C++程序中一样。

在Qt 中,我们通常会创建一个`QApplication`对象来管理应用程序的初始化和最后终止。

此外,我们还会创建一个或多个`QWidget`(或其子类)来作为应用程序的主窗口。

以下是一个简单的Qt程序的`main`函数例子:
```cpp
#include <QApplication>
#include <QMainWindow>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QMainWindow window;
window.setWindowTitle("Main Window");
window.show();
return app.exec();
}
```
在这个例子中,我们创建了一个`QApplication`对象和一个`QMainWindow`对象。

然后,我们设置窗口的标题并显示它。

最后,我们通过调用`app.exec()`启动应用程序的事件循环。

当用户关闭窗口或退出应用程序时,`app.exec()`将返回一个值,这个值将作为`main`函数的返回值。

1。

QT+Eclipse配置C++开发环境步骤-WIN

QT+Eclipse配置C++开发环境步骤-WIN

QT+Eclipse配置C++开发环境步骤(WIN)1、下载Eclipse+CDT,现在好像都集成在一起了,可以下载一个非安装版本的直接解压就可以用了。

(Eclipse IDE for C/C++建议下载:Eclipse IDE for C/C++ Developers2、下载MinGW,按说明默认安装就可以,我的安装目录是C:\MinGW,这个目录后面配置环境变量时要用到,如果安装目录不同,后面配置环境变量时目录应相应的修改。

下载时需要考虑:与QT相对应的版本,比如:QT4.8.5与MinGW-gcc440.13、下载QT。

到Qt网站在下面的QT官方网址(/downloads),直接下载qt-win-opensource-4.8.5-mingw.exe,安装即可。

4、下载qt-eclipse-integration-win32-1.6.1.exe。

也是去QT有一步要选择eclipse和MinGW的路径,注意:一定要选择你刚才安装的eclipse和mingw的路径,其余直接默认安装即可。

5、环境变量配置1)将MinGW目录中bin目录下的mingw32-make.exe改为make.exe。

2)需要配置一下系统的环境变量,右键点击“我的电脑”->属性->高级->环境变量,在系统变量中进行如下操作:(黄色部分要根据自己的路径相应的进行修改)添加:PATH=C:\MinGW\bin;C:\MinGW\libexec\gcc\mingw32\4.4.0新建:C_INCLUDE_PATH=%MINGW_PATH%\include;CPLUS_INCLUDE_PATH=C:\MinGW\lib\gcc\mingw32\4.4.0\in clude\c++;C:\MinGW\lib\gcc\mingw32\4.4.0\include\c++\mi ngw32;C:\MinGW\lib\gcc\mingw32\4.4.0\include\c++\backwa rd;C:\MinGW\lib\gcc\mingw32\4.4.0\includeLIBRARY_PATH=%MINGW_PATH%\lib;6、开发举例1)通过“开始->所有程序->Qt Eclipse Integration v1.6.1->Start Eclipse with MinGW”来启动eclipse 2)设置eclipse通过菜单“Window” ->"Preferences...",进入参数设置框,在左边的选择项中选Qt,然后点击右边的增加(“add”)按钮添加我们刚才安装的位置和版本号,如下图点击finish完成。

QtCreator安装和helloworld程序编写

QtCreator安装和helloworld程序编写

封面作者:PanHongliang仅供个人学习一、Qt Creator的安装和hello world程序的编写我们这里讲述windows下的Qt Creator,在Linux下基本相同。

本文先讲述基本的下载、安装和最简单程序的编写,然后在附录里又讲解了两种其他的编写程序的方法。

1.首先到Qt的官方网站上下载Qt Creator,这里我们下载windows版的。

下载地址:如下图我们下载:Download Qt SDK for Windows* (178Mb)下载完成后,直接安装即可,安装过程中按默认设置即可。

2.运行Qt Creator,首先弹出的是欢迎界面,这里可以打开其自带的各种演示程序。

3.我们用File->New菜单来新建工程。

4.这里我们选择Qt4 Gui Application。

5.下面输入工程名和要保存到的文件夹路径。

我们这里的工程名为hello world。

6.这时软件自动添加基本的头文件,因为这个程序我们不需要其他的功能,所以直接点击Next。

7.我们将base class选为QDialog对话框类。

然后点击Next。

8.点击Finish,完成工程的建立。

9.我们可以看见工程中的所有文件都出现在列表中了。

我们可以直接按下下面的绿色的run按钮或者按下Ctrl+R快捷键运行程序。

10.程序运行会出现空白的对话框,如下图。

11.我们双击文件列表的dialog.ui文件,便出现了下面所示的图形界面编辑界面。

12.我们在右边的器件栏里找到Label标签器件13.按着鼠标左键将其拖到设计窗口上,如下图。

14.我们双击它,并将其内容改为hello world。

15.我们在右下角的属性栏里将字体大小由9改为15。

16.我们拖动标签一角的蓝点,将全部文字显示出来。

17.再次按下运行按钮,便会出现hello world。

到这里hello world程序便完成了。

Qt Creator编译的程序,在其工程文件夹下会有一个debug文件夹,其中有程序的.exe可执行文件。

第一个qt窗口项目mainwindow

第一个qt窗口项目mainwindow
2. 接 下 来 要 实 现 动 态 显 示 时 间 , 这 里 就 需 要 有 一 个 定 时 器 , 定 时 器 的 初 始 化 同 样 在 mainwindow.cpp 的初始化代码中进行 首先还是要先包含#include <QTimer> 然后输入如下代码 这里还需要建立一个定时器的函数, 来响应定时器的变化,就是说时间到了之后,应该来 刷新显示时间, 這样才能实现动态显示时间。 先到 mainwindow.h 中添加私有信号槽 private slots: void timerUpDate(); 然后到 mainwindow.cpp 中完成 timerUpdate()函数, 代码如下。然后还要到 mainwindow 的 初始化函数中新建一个 Timer ,具体代码如下

ui->UNm_ledit->setFocus(); //鼠标回到用户名编辑框
1
}
2}
此时已经完成了登陆按钮的功能, 但是点击登陆之后, 怎么跳转到主窗口中去呢? 这里就需要在主窗口的文件中做如下处理,先回到 main.cpp 文件中。 首先在 main.cpp 中包含 dialog.h 头文件 #include “dialog.h” 然后如输入如下代码 ,代码中附有详细解释, 代码简单,所以不单独解释
#include <QMessageBox>
C++ Code
1 void Dialog::on_login_Btn_clicked()
2{
3
if(ui->UNm_ledit->text() == tr("qt") && ui->pwd_ledit->text() == tr("123"))

qt 源码交叉编译

qt 源码交叉编译

qt 源码交叉编译Qt是一款一流的跨平台应用程序开发框架。

由于 Qt 提供了非常具有竞争力的开发效率,易于开发者上手的API 设计,“Write Once, Run Anywhere” 的特性以及一系列高效、易于维护的组件等等优点,因而已经被广泛应用在各类软件开发类型中。

在使用 Qt 进行嵌入式开发时,我们经常需要将 Qt 源码交叉编译到目标平台。

Qt 源码交叉编译的过程远不是一件易事,需要开发者对开发环境有深入的了解。

在本文中,我们将为大家讲解如何对 Qt 源码进行交叉编译。

一、搭建交叉编译环境在进行 Qt 源码交叉编译前,我们需要先搭建好交叉编译的环境。

根据目标平台的不同,搭建环境的方法也会有所不同。

如果您需要将 Qt 编译到 ARM 平台上,可以尝试使用工具链进行交叉编译;如果您需要将 Qt 编译到MIPS 平台上,应该使用 Qemu 虚拟机进行交叉编译。

无论你选择哪种方式,您都需要确保您的开发环境中所有必要的库都已经安装到了系统中。

例如,如果您需要对 Qt 进行静态编译,您需要在开发环境上安装 libxcb-static、libxkbcommon-static 和 libinput-static 等库。

在搭建好 environment 后,我们需要对自己所使用的工具链进行相应的配置。

首先,您需要设置您的编译器、链接器、构建工具等等配置信息,并且需要确保这些配置信息均已经添加到 PATH 路径中。

接着,您可以通过设置以下环境变量来使得交叉编译环境正常运行:export TARGETMACH=arm exportQMAKE_CXX=/path/to/YOUR_ARCH-g++ export QMAKE_LINK=/path/to/YOUR_ARCH-g++ exportQT_ARCH=arm exportCROSS_COMPILE=/path/to/YOUR_ARCH-以上的环境变量是指定了目标平台架构($TARGETMACH)、编译器及链接器($QMAKE_CXX 和$QMAKE_LINK)、构建的目标架构($QT_ARCH),以及编译时需要的交叉编译工具链($CROSS_COMPILE)。

QtCreator安装和helloworld程序编写

QtCreator安装和helloworld程序编写

QtCreator安装和helloworld程序编写封面作者:PanHon glia ng仅供个人学习一、Qt Creator的安装和hello world 程序的编写我们这里讲述windows 下的Qt Creator ,在Linux 下基本相同。

本文先讲述基本的下载、安装和最简单程序的编写,然后在附录里又讲解了两种其他的编写程序的方法。

1.首先到Qt 的官方网站上下载Qt Creator ,这里我们下载windows 版的。

下载地址:如下图我们下载:Download Qt SDK for Windows* (178Mb) 下载完成后,直接安装即可,安装过程中按默认设置即可。

2.运行Qt Creator ,首先弹出的是欢迎界面,这里可以打开其自带的各种演示程序。

3.我们用File->New 菜单来新建工程。

4.这里我们选择Qt4 Gui Application 。

5.下面输入工程名和要保存到的文件夹路径。

我们这里的工程名为hello world 。

6.这时软件自动添加基本的头文件,因为这个程序我们不需要其他的功能,所以直接点击Next 。

7.我们将base class 选为QDialog 对话框类。

然后点击Next 。

8.点击Finish ,完成工程的建立。

9.我们可以看见工程中的所有文件都出现在列表中了。

我们可以直接按下下面的绿色的run 按钮或者按下Ctrl+R 快捷键运行程序。

10.程序运行会出现空白的对话框,如下图。

11.我们双击文件列表的dialog.ui 文件,便出现了下面所示的图形界面编辑界面。

12.我们在右边的器件栏里找到Label 标签器件13.按着鼠标左键将其拖到设计窗口上,如下图14.我们双击它,并将其内容改为hello world 。

15.我们在右下角的属性栏里将字体大小由9 改为1516.我们拖动标签一角的蓝点,将全部文字显示出来17.再次按下运行按钮,便会出现hello world 。

Qt入门教程--第01章 Qt Creator的安装和最简单程序的编写

Qt入门教程--第01章 Qt Creator的安装和最简单程序的编写

第01章Qt Creator的安装和hello world程序第1章主要讲述windows下的Qt Creator下载、安装和最简单程序的编写,然后在附录里又讲解了两种其他的编写程序的方法。

在linux下Qt Creator下载、安装及程序的编写基本与此相同。

1.1 Qt 简介Qt 是一个跨平台的C++ 图形用户界面库,由挪威TrollTech 公司出品,目前包括Qt,基于Framebuffer 的Qt Embedded,快速开发工具Qt Designer,国际化工具Qt Linguist 等部分Qt 支持所有Unix 系统,当然也包括Linux,还支持WinNT/Win2k,Win95/98 平台。

Qt 具有下列优点:1.优良的跨平台特性:Qt支持下列操作系统: Microsoft Windows 95/98, Microsoft Windows NT, Linux,Solaris, SunOS, HP-UX, Digital UNIX (OSF/1, Tru64), Irix, FreeBSD,BSD/OS, SCO, AIX, OS390,QNX 等等。

2.面向对象Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的。

Qt 提供了一种称为 signals/slots 的安全类型来替代callback,这使得各个元件之间的协同工作变得十分简单。

3.丰富的 APIQt 包括多达 250 个以上的 C++ 类,还替供基于模板的 collections,serialization, file, I/O device, directory management, date/time 类。

甚至还包括正则表达式的处理功能。

4.支持 2D/3D 图形渲染,支持 OpenGL5.大量的开发文档6.XML 支持1.2 Qt Creator的下载和安装1. 下载首先到Qt的官方网站上下载Qt Creator,这里我们下载windows版的。

Qt添加图标

Qt添加图标

Qt添加图标1 Qt添加.exe程序图标1.1 Qt Creator添加.exe程序图标在⽹上(https:///)⽣成⼀个ico图标⽂件,命名为:logo.ico,将 ico⽂件存放⾄应⽤程序的源代码⽬录。

1.1.1 ⽅法⼀如果使⽤qmake来⽣成makefile⽂件,只需要在.pro中添加:RC_ICONS = logo.ico然后,重新⽣成makefile⽂件和应⽤程序,对应的.exe可执⾏程序的图标就会转变为刚才添加的图标。

1.1.2 ⽅法⼆新建⼀个.rc⽂件,“新建⽂件”---“C++ source File”---命名为logo.rc(不能掉了rc后缀)。

打开logo.rc⽂件添加如下⼀⾏代码。

IDI_ICON1 ICON DISCARDABLE "logo.ico"最后在pro⽂件添加⼀⾏代码RESOURCES += \qss.qrc#RC_ICONS = logo.icoDISTFILES += \logo.rcRC_FILE += logo.rc保存项⽬重新编译,exe图标和执⾏时window图标都将发⽣变化。

1.2 Qt in VS添加.exe程序图标在⽹上(https:///)⽣成⼀个ico图标⽂件,命名为:temp.ico,将 ico⽂件存放⾄应⽤程序的源代码⽬录。

在⼯程根⽬录下,新建⼀个temp.rc⽂件,内容如下:IDI_ICON1 ICON DISCARDABLE "logo.ico"修改“⼯程名.vcxproj”⽂件,在:<?xml version="1.0" encoding="utf-8"?><Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="/developer/msbuild/2003">之后,添加<ItemGroup><ResourceCompile Include="temp.rc"/></ItemGroup>重新⽣成项⽬即可。

qt移植编译的参数和环境变量详解

qt移植编译的参数和环境变量详解

-release这个参数显而易见,就是编译Qt以发布版的模式进行,一般来说,最后系统完成后,库就应该是发布版。

-release与上面对应,自然是调试版了,如果开发的话,可以选择它吧。

-debug-and-release囧,上面那两个的儿子。

-developer-build囧,我错了,开发者也可以用这个的,选了这个后,可以进行自动测试,不过还没去用过,以后可以研究研究。

-opensource-commercial这两个参数是指是编译是商业版本的,还是开源版本呢,视个人情况而定。

-shared-static这两个参数是指Qt的lib以动态还是静态编译生成,这自然也是视个人需要的。

-no-fast-fast这两个就很有关系,如果对自己的电脑性能很有信心,那就选第一个,那所有的工程文件都会生成到makefiles中,那编译的时间,估计可以看完变形金刚了。

如果选第二个,那就加入子目录和库到makefiles,这样就能加快编译的速度。

-no-largefile-largefile顾名思义,支不支持大文件,一般来说,嵌入式里是不会有从超过4G的大文件的,那就选第一个吧。

-no-exceptions-exceptions计算机英语够好的人都该懂,这个自然就是异常情况,选则编译器支持抛出异常,否则不支持。

-no-accessibility-accessibility可访问性的支持,说实话,这个我真不知道有什么有用了。

等哪天发现了,再来好好解释。

-no-stl-stl是都加入stl的支持,stl,这应该算是C++程序员应该都了解了,再不济,那也总听说过大名吧。

no-sql-<driver>-qt-sql-<driver>-plugin-sql-<driver>这个可要好好说明下,一般来说,对于一个优秀的项目开发,数据库是必不可少的,qt也自带了大多数数据库驱动,可以完美地支持数据库的使用。

qt 写c程序

qt 写c程序

qt 写c程序C程序是一种用于编写计算机程序的编程语言,它是一种强大且灵活的语言,被广泛用于各种应用程序的开发和系统编程。

无论是初学者还是有经验的开发人员都可以使用C程序语言,它提供了丰富的功能和工具,使得编写高效、可靠的程序变得更加容易。

在本篇文章中,我们将探讨一些关于C程序的重要主题,包括基本语法、变量和数据类型、条件语句、循环结构、函数和指针。

1. 基本语法:C程序的基本结构由一系列语句组成,每个语句以分号(;)结束。

程序从main函数开始执行,它是每个C程序必须拥有的程序入口点。

2. 变量和数据类型:C程序使用变量来存储和操作数据。

在C中,变量必须先声明,然后才能使用。

C语言提供了多种数据类型,包括整型、浮点型、字符型等,通过声明变量的数据类型来指定变量可以存储的数据。

3. 条件语句:条件语句用于根据条件来执行不同的代码块。

C语言提供了if语句和switch语句来实现条件判断。

if语句根据给定的条件来执行不同的代码块,而switch语句根据表达式的值选择要执行的代码块。

4. 循环结构:循环结构允许我们多次执行相同或类似的代码块。

C语言提供了多种循环结构,包括for循环、while循环和do-while循环。

for 循环通过设置循环变量的初始值、条件和迭代表达式来重复执行代码块,而while循环和do-while循环则根据指定的条件重复执行代码块。

5. 函数:函数是C程序的基本构建模块,用于封装可重用的代码块。

函数可以接受参数并返回值。

C语言中的函数由函数头、函数体和返回语句组成。

函数头包括函数名称、参数列表和返回类型,函数体包括函数的实际代码,返回语句用于指定函数的返回值。

6. 指针:指针是C语言中的一项重要特性,它提供了直接访问内存地址的能力。

通过使用指针,我们可以有效地操作内存和实现高效的数据结构。

指针变量存储了一个内存地址,可以通过解引用操作符(*)来访问该地址处的数据。

通过以上主题的讨论,我们可以看到C程序是一种功能丰富且灵活的编程语言。

QT、C++安卓平台运行指南

QT、C++安卓平台运行指南

V41程序在安卓平台运行指南交叉编译环境准备•Ubuntu64位虚拟机•android-ndk-r10e•android-sdk-linux•ndkbuild.sh编译脚本分别将ndk 、sdk解压到虚拟机/opt目录中,移动ndkbuild.sh到你的项目根目录并编辑将红框所示路径替换为你的项目实际路径。

编译步骤下面用ITvmCoreNC和PassageUI分别演示普通进程和QT界面具体的编译步骤。

ITvmCoreNC步骤1.在项目根目录建立jni目录并在目录里创建Application.mk文件,此文件内容一般不用改动,内容模板如下:APP ABI := armeabi-v7aAPP STL := gnustl sharedAPP CFLAGS += -Wno-error=format-security2.在项目根目录创建Android.mk文件,此文件需根据具体的项目修改相应的内容,内容模板如下:LOCAL_PATH:= $(call my-dir)include $(CLEAR VARS)LOCAL MODULE := AndroidDllCLogOperLOCAL SRC FILES := /data/Afc/Run/Lib/libAndroidDllCLogOper.soinclude $(PREBUILT SHARED LIBRARY)include $(CLEAR VARS)LOCAL MODULE := AndroidSocketIpcLOCAL SRC FILES := /data/Afc/Run/Lib/libAndroidSocketIpc.soinclude $(PREBUILT SHARED LIBRARY)include $(CLEAR VARS)LOCAL MODULE := AndroidSlePublicLOCAL SRC FILES := /data/Afc/Run/Lib/libAndroidSlePublic.soinclude $(PREBUILT SHARED LIBRARY)include $(CLEAR VARS)LOCAL MODULE := AndroidLokiLOCAL SRC FILES := /data/Afc/Run/Lib/libAndroidLoki.soinclude $(PREBUILT SHARED LIBRARY)include $(CLEAR VARS)LOCAL MODULE := AndroidPubSleDbLOCAL SRC FILES := /data/Afc/Run/Lib/libAndroidPubSleDb.soinclude $(PREBUILT SHARED LIBRARY)#include $(CLEAR VARS)#LOCAL MODULE := AndroidRs232DeviceBase#LOCAL SRC FILES := /data/Afc/Run/Lib/libAndroidRs232DeviceBase.so#include $(PREBUILT SHARED LIBRARY)include $(CLEAR VARS)LOCAL MODULE := AndroidcurlLOCAL SRC FILES := /data/Afc/Run/Lib/libcurl.soinclude $(PREBUILT SHARED LIBRARY)include $(CLEAR VARS)LOCAL MODULE := ITvmCoreNCLOCAL CPP FEATURES := rtti exceptionsLOCAL CFLAGS += -I$(LOCAL PATH)/../AndroidLib/NDK/libxml2.9.3/include/libxml2LOCAL CFLAGS += -fexceptions -pie -fPIE -fPICLOCAL LDFLAGS += -pie -fPIE -fPICLOCAL SRC FILES :=$(LOCAL PATH)/LibApp/ProjV41StdSleDataApp/ProjV41StdAfcPublicDef/adp/AFCDataPackComm.c \ $(LOCAL PATH)/SleCore.cpp \LOCAL C INCLUDES := $(LOCAL PATH)/LibApp/ProjV41StdSleDataApp/ProjV41StdAfcPublicDef/adp \$(LOCAL PATH)/include/sqlite3 \$(LOCAL_PATH)#LOCAL SRC FILES := $(LOCAL PATH)/../AndroidLib/NDK/log4cpp/lib/liblog4cpp.a#LOCAL STATIC LIBRARIES := log4cppLOCAL WHOLE STATIC LIBRARIES += android_supportLOCAL SHARED LIBRARIES += AndroidDllCLogOperLOCAL SHARED LIBRARIES += AndroidSlePublic#LOCAL SHARED LIBRARIES += AndroidRs232DeviceBaseLOCAL SHARED LIBRARIES += AndroidSocketIpcLOCAL SHARED LIBRARIES += AndroidLokiLOCAL SHARED LIBRARIES += AndroidPubSleDbLOCAL SHARED LIBRARIES += AndroidcurlTARGET ARCH := armTARGET ARCH ABI := armeabiinclude $(BUILD EXECUTABLE)$(call import-module, android/support)需要修改字段解释: LOCAL_SRC_FILES是项目需要编译的源文件,LOCAL_C_INCLUDES项目需要引用的头文件目录。

Qt中文代码用VC2010编译问题解决

Qt中文代码用VC2010编译问题解决

Qt中文代码用VC2010编译问题解决作者:蔚蓝(winland0704)说明一下情况,本人电脑WinXP系统里有两套Qt开发库(都是最新的5.3.1):一套是Qt5-MinGW版本,配合QtCreator编写代码比较方便,对Qt库、代码补全、界面编写都挺好使。

这套Qt5-MinGW库编译出来的exe,依赖的dll实在太多(Release版本依赖:icudt52.dll,icuin52.dll,icuuc52.dll,libgcc_s_dw2-1.dll,libstdc++-6.dll,libwinpthread-1.dll,Qt5Core.dll,Qt5Gui.dll,Qt5Widgets.dll,共9个dll计43MB),不便于在Windows下发布软件。

第二套是Qt的MSVC 2010的版本,这个套件可以配合VS2010或QtCreator使用。

VS对Qt库函数的支持不好,代码编辑时函数名写错了都不提示的,不方便开发。

但是用这个版本开发的exe依赖文件少,一般对装了VC运行库的系统,VC编译出来的exe只依赖Qt5Core.dll,Qt5Gui.dll,Qt5Widgets.dl,这样比较好发布。

一般是用Qt-MinGW和QtCreator开发代码,然后用QtVS的库编译出程序发布。

一般如果代码是全英文的,那么没什么冲突。

但是本人代码和界面都是有中文的,问题也就来了。

QtCreator和Qt工具集默认的代码编码格式是UTF8,可选支持ANSI(GB2312),不支持微软Windows的Unicode编码格式。

VC编译器默认是ANSI(GB2312),可选支持Unicode,不支持UTF8。

所以QtCreator+MinGW开发的代码,对于VC编译器来说是不认识的,尤其是中文字符串,铁定是出错的。

现在归纳一下出问题的编译错误和显示乱码问题:源代码是QtCreator默认的UTF8编码格式,本人做了一个小的测试程序,就是Dialog里放一个Label测试,在QtCreator和MinGW编译后界面:核心代码就一句:ui->labelTest->setText(tr("一二三四五六七八九十"));用QtVS版本编译测试如下:1. 什么都不改,UTF8编码的源码,用QtVS编译编译出错:提示信息为:D:\Projects\testLuanMa\dialog.cpp:-1: warning: C4819: 该文件包含不能在当前代码页(936)中表示的字符。

Qt在VC++ 6.0下的编写和编译

Qt在VC++ 6.0下的编写和编译
class AClass : public QObject {
Q_OBJECT public slots:
void theSlot(); signals:
void theSignal(); }; class BClass : public QObject {
Q_OBJECT public slots:
2.3 编译程序
在命令行窗口中编译程序,请输入:
qmake –project
// 更新项目文件 qt3test.pro
nmake
// 编译程序
注意,会出现一些连接警告信息,不用管它就是了。警告信息内容可能如下:
LINK : warning LNK4199: /DELAYLOAD:comdlg32.dll ignored; no imports found from comdlg32.dll
二 命令 qmake 创建 VC 项目文件
2.1 创建 Qt 工程
1、在 C 盘根目录下创建一个文件夹 qt3test,并新建一个.cpp 文件 qt3test.cpp
mkdir qt3test cd qt3test echo > qt3test.cpp
// 创建文件夹 qt3test // 进入文件夹 qt3test // 生成 qt3test.cpp
...
2.4 运行程序
qt3test.exe 这时会弹出一个窗口:
// 运行可执行程序
运行 qt3test 程序,出现上图画面,恭喜您!否则请检查上述步骤,看是否都配置正确。。。
三 编写基于 QObject 的 Qt 类
在上面的代码基础上,添加两个 Qt 类,并添加信号和槽。
3.1 添加一个新类
1、新建 myclass.h 文件 #ifndef _MYCLASS_H #define _MYCLASS_H #include <qobject.h>

Qt源码中添加main.cpp文件-KC08141206-d02(精)

Qt源码中添加main.cpp文件-KC08141206-d02(精)

图2
添加main.cpp文件
辑代码,具体操作如下图3所示:
创建main.cpp文件
3.步骤三:编辑main.cpp文件。在vi编辑器里,首先单击键盘“i”,转换为插入模式,然后开始编
图3
添加main.cpp文件
入“:wq!”命令保存退出,具体操作如下图4所示:
创建main.cpp文件
4.步骤四:退出vi编辑器。编辑完成后,首先单击键盘上“Esc”键,使编辑器进入命令模式,再输
虚拟机终端中,输入“cd
创建main.cpp文件
/opt/EmbedSky/Qte/x86qtopia-2.2.0/pro/dht11/ ”
命令进入目录,具体操作如下图 1 所示:
图1
添加main.cpp文件 “vi main.cpp”命令进行建立,具体操作如下图2所示:
创建main.cpp文件
2. 步骤二:建立 main.cpp 文件。在该目录下,使用 vi 文本编辑器进行创建。在虚拟机终端中,输入
谢谢关注!
Байду номын сангаас
08 嵌入式技术应用-模块四
嵌入式网关之温湿度采集系统设计
Qt源码中添加main.cpp文件
• 创建main.cpp文件 • 分析main.cpp代码
*
添加main.cpp文件
Main.cpp 是一个主函数源文 件,包含了入口函数,在这里该 文件编写成了一个通用的源码。 具体步骤如下: 1.步骤一:进入项目目录:在
图4
添加main.cpp文件
具体操作如下图5所示:
创建main.cpp文件
5.步骤五:查看main.cpp文件。退出编辑器后,在虚拟机终端中,输入“ls”命令查看文件是否存在,

qt 安装使用

qt 安装使用

Linux 下编译并安装配置Qt 全过程 (1)Linux 下Qt Creator 的安装使用 (4)Arm-Linux嵌入式QT/E环境的建立(qt/e 3.x系列) (5)Qt4.3.5-X11-交叉编译平台的搭建、移植详解收藏 (9)QT-embedded-4.5 for arm的安装和使用收藏 (12)qt交叉编译工具的建立收藏 (17)Linux 下编译并安装配置Qt 全过程最近准备做Nokia 的Symbian,Maemo 下触摸屏开发。

考虑到程序的跨平台可移植性,最终选择使用Qt 开发。

相对来说,国内关于Qt 相关文档并不算很多。

作者将Linux 下编译并安装配置Qt 全过程总结了一下,只希望可以方便更多的朋友!1。

获得源代码src 官网下载地址:ftp:///qt/source/2009 年10 月1 日发布的qt-x11-opensource-src-4.5.3.tar.gz,大小122 Mb。

````2。

解压缩tar xvfz qt-x11-opensource-src-4.5.3.tar.gz3。

生成makefile 文件./configure-fast -no-openssl -qvfb这个时候他会问你:“Which edition of Qt do you want to use?”然后给你两个类型供选择:Type 'c' if you want to use the Commercial Edition.Type 'o' if you want to use the Open Source Edition.第一个是商业版,第二个是自由版。

选择'o'(Qt/嵌入式自由版是Qt为了开发自由软件提供的嵌入式版本)。

这时候,出现许可界面。

选择'yes' 接受许可协议。

开始生成makefile 文件。

这个大约需要5 -10 分钟的时间。

Qt编译控制之C++库

Qt编译控制之C++库

Qt编译、生成、调用库文件一、生成Pro文件二、生成Makefile文件(mingw32-make,mingw32-make release)Mingw的make工具好像不叫Make,而是mingw32-make)三、生成库文件说明:vs200x生成的是*.lib和*.dll,(msvc)mingw生成的是*.a 和*.dll,(mingw),但mingw中可以调用vs200*中生成的*.lib和*.dll,且*.lib和*.a也可以相互转换(reimp) lib是由lib.exe把*.obj生成的lib。

a 是由mingw.exe把 .o生成 .aGCC和VC都使用COFF格式,所以VC中的.obj .lib与gcc用的.o .a是一样的(在WINDOWS 下),两种静态库*.lib/*.a可以相互转换,使用reimp和dlltool进入cmd下cd c:\mysql\lib\optreimp -d libmysql.libdlltool -k -d libmysql.def -l libmysql.a只是扩展名不一样,通常你只要改一下名称就OK啦!不过有些库不行,因为库中的代码可能会用到一些编译器专有的特性,用VC做的.lib可能在gcc下没法通过编译(缺少符号),反之亦然。

1、静态库。

.a生成及应用一. 静态库的生成1. 测试目录: lib2. 源码文件名: mywindow.h, mywindow.cpp, 类MyWindow继承于QPushButton, 并将文字设置为"I'm in class MyWindow";3. 编写项目文件: mywindow.pro注意两点:TEMPLATE = libCONFIG += staticlib4. 生成Makefile:qmake5. 编译生成静态库libmywindow.amake二. 静态库的使用1. 测试目录: test2. 将mywindow.h与libmywindow.a拷贝至test目录下3. 编写main.cpp, 包含头文件mywindow.h, 并调用MyWindow类4. 编写项目文件: test.pro注意加上库路径与库文件名:LIBS += -L ./ -lmywindow5. 生成Makefile: qmake6. 编译: make7. 运行: ./test2、动态共享库。

QT窗口创建过程

QT窗口创建过程

1. QT创建窗口程序、消息循环和WinMain函数使用QT也有一段时间了,有的时候需要跟踪代码到QT的源码中去查找问题。

在这里我将记录一下我跟踪QT源码学习到的一些知识。

我的开发环境是VC6.0+QT4.3.3。

QT已经不为VC6.0提供addin了,所以有的时候我也会使用EclipseCDT来编写代码,因为有了QT for Eclipse的plugin写代码会方便一些。

我们在学习QT的时候,接触的第一个程序就是下面的helloworld程序:view plain1.#include <QApplication>2.#include <QPushButton>3.4.int main(int argc, char *argv[])5.{6. QApplication app(argc, argv);7. QPushButton hello("Hello world!");8. hello.resize(100, 30);9. hello.show();10. return app.exec();11.}这个程序的作用很多手册和文档都已经讲了,讲的也都很细致,非常不错。

但是喜欢钻研,深入的童鞋也许开始注意了int main(int argc, char *argv[]),这个main函数是标准的main函数,而windows应用程序的入口是winmain函数,而main函数是命令行程序的入口。

win下窗口程序都有RegisterClass,和消息循环,QT是如何RegisterClass和创建消息循环的?下面我们将来一起学习一下QT的源码来解释一下这个main函数和整个窗口程序的创建过程:设置好路径后,我们先F10一下,看看这个程序到底是从哪里开始运行的。

程序跳到了/winmain/qtmain_win.cpp文件的WinMain函数中,再看这个文件上面的宏定义:#define main qMain继续看:在WinMain函数中调用了我们自己定义的main函数:int result = main(argc, argv.data());哇塞,原来如此啊。

Qt程序的字符编码方式

Qt程序的字符编码方式

Qt程序的字符编码⽅式本节会创建⼀个图形界⾯程序,并故意对源⽂件使⽤不恰当的字符编码⽅式,导致其⽂本显⽰控件的汉字乱码。

我们会介绍两种纠正⽅法:第⼀种是不修改源代码⽂件编码格式,通过 QString::fromLocal8Bit() 函数在程序运⾏时转码;第⼆种是直接将源代码⽂件整体转换成 UTF-8 编码,就不需要修改具体的代码⾏了。

第⼆种是最为推荐的⽅式,⼀劳永逸地解决乱码问题,UTF-8 是 Qt5 默认的编码⽅式。

乱码的⽰例程序⾸先「」下载 qtmess ⽰例程序,得到的是⼀个压缩包,解压到⽐如 D:\QtDemo\qtmess ⽂件夹⾥,然后⽤ QtCreator 打开该项⽬⽂件 qtmess.pro,看到项⽬配置提⽰界⾯:⼀般选中 Select all kits ,然后点击 Configure Project ,让集成开发环境 QtCreator ⾃动配置好。

为了让例⼦尽可能简单,项⽬⾥⾯只有⼀个源⽂件 qtmess.cpp ,在项⽬视图打开该源代码⽂件,右边编辑器出现以下提⽰:编辑器默认是认识 UTF-8 编码的源⽂件,这个 qtmess.cpp 是在简体中⽂ Windows ⾥⽤记事本编辑的,其汉字编码格式是GBK,所以上图中⽂出现乱码。

右上⾓也提⽰出现解码错误,不能⽤默认的 UTF-8 格式解码。

点击“Select Encoding”按钮,打开源⽂件编码选择对话框:对于简体中⽂,选择 GBK 打头的条⽬或 GB18030 打头的都可以,windows-936 和其他 CP936(CodePage)、MS936(Microsoft)是⼀个意思,⼤字符集 GB18030 也有其他称呼,如 ibm-1392,windows 代码页编号 54936。

这⾥选择 GBK 的条⽬(GBK 条⽬有重复的,任选⼀个),然后点击“按编码重新载⼊”按钮,⽂件⾥的汉字就正常了:注意 UTF-8 和 GBK 其实对英⽂和数字都是⼀样的 ASCII 单字节编码,所以源⽂件⽤英⽂和数字是肯定不乱码,主要是汉字之类的本地语⾔⽂字编码显⽰容易出错。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

图4
添加main.cpp文件
具体操作如下图5所示:
创建main.cpp文件
5.步骤五:查看main.cpp文件。退出编辑器后,在虚拟机终端中,输入“ls”命令查看文件是否存在,
图5
添加main.cpp文件
分析main.cpp代码
接下来,对main.cpp代码进行分析,具体代码分析如下图6所示:
图6
08 嵌入式技术应用-模块四
嵌入式网关之温湿度采集系统设计
Qt源码中添加main.cpp文件
• 创建main.cpp文件 • 分析main.cpp代码
*
添加main.cpp文件
Main.cpp 是一个主函数源文 件,包含了入口函数,在这里该 文件编写成目目录:在
图2
添加main.cpp文件
辑代码,具体操作如下图3所示:
创建main.cpp文件
3.步骤三:编辑main.cpp文件。在vi编辑器里,首先单击键盘“i”,转换为插入模式,然后开始编
图3
添加main.cpp文件
入“:wq!”命令保存退出,具体操作如下图4所示:
创建main.cpp文件
4.步骤四:退出vi编辑器。编辑完成后,首先单击键盘上“Esc”键,使编辑器进入命令模式,再输
谢谢关注!
虚拟机终端中,输入“cd
创建main.cpp文件
/opt/EmbedSky/Qte/x86qtopia-2.2.0/pro/dht11/ ”
命令进入目录,具体操作如下图 1 所示:
图1
添加main.cpp文件 “vi main.cpp”命令进行建立,具体操作如下图2所示:
创建main.cpp文件
2. 步骤二:建立 main.cpp 文件。在该目录下,使用 vi 文本编辑器进行创建。在虚拟机终端中,输入
相关文档
最新文档