Qt源码中添加main.cpp文件-KC08141206-d02(精)
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)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程序编写
封面作者: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
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 提供了非常具有竞争力的开发效率,易于开发者上手的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程序编写封面作者: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的安装和最简单程序的编写
第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添加图标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移植编译的参数和环境变量详解
-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程序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++安卓平台运行指南
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编译问题解决作者:蔚蓝(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下的编写和编译
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(精)
图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 安装使用
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编译、生成、调用库文件一、生成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窗口创建过程
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程序的字符编码⽅式本节会创建⼀个图形界⾯程序,并故意对源⽂件使⽤不恰当的字符编码⽅式,导致其⽂本显⽰控件的汉字乱码。
我们会介绍两种纠正⽅法:第⼀种是不修改源代码⽂件编码格式,通过 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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 文本编辑器进行创建。在虚拟机终端中,输入