Qt

来自开放百科 - 灰狐
跳转到: 导航, 搜索
Wikipedia-35x35.png 您可以在Wikipedia上了解到此条目的英文信息 Qt Thanks, Wikipedia.
Qt-90x90.png

Qt – 一个跨平台应用程序和UI开发框架

Qt Product Arch

支持 Windows, Mac OS X, Linux/X11, embedded Linux, Windows Mobile 和 SymbianMeeGo 平台。

目录

新闻

  • 诺基亚出售Qt业务给Digia,该公司将接手Qt商业授权和服务业务,诺基亚也将移交大约3500家商业客户。看来,诺基亚是要彻底放弃Qt了。(March 7, 2011)

自http://feeds.feedburner.com/TheQtBlog加载RSS失败或RSS源被墙

功能

模块化 Qt C++ 类库提供一套丰富的应用程序生成块 (block),包含了生成高级跨平台应用程序所需的全部功能

Qt Roadmap

http://qt.nokia.com/developer/qt-roadmap

版本

5.4

Qt 5.4 在线文档

5.0

Qt 5

4.8

Qt 4.8

4.7

Qt 4.7 正式版发布

Modules

Module Summary

A module is a selection of projects (also called components) which form a logical group based on a limited number of features to which they contribute. A module can contain libraries, plug-ins, applications and server components.

More details

Webkit

QtWebKit

OS X

通过 Qt Online Installer for OS X

vim /etc/profile

export PATH=/Users/huihoo/Software/Qt/5.4/clang_64/bin:$PATH
或 export PATH=/Users/huihoo/Software/Qt/5.4/android_armv7/bin:$PATH

测试

$ qmake -v
QMake version 3.0
Using Qt version 5.4.0 in /Users/huihoo/Software/Qt/5.4/clang_64/lib

Debian

vim /etc/profile

#Qt
QTDIR=/home/huihoo/Qt/5.2.1/gcc_64
PATH=$QTDIR/bin:$PATH
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export QTDIR PATH LD_LIBRARY_PATH
source /etc/profile
updatedb
qmake -v
QMake version 3.0
Using Qt version 5.2.1 in /home/huihoo/Qt/5.2.1/gcc_64/lib

Eclipse

Qt Eclipse Integration

Qt Eclipse Integration for C++

VS

Qt Visual Studio Integration

Qt-logo.png is integrated with the Microsoft Visual Studio .NET and Eclipse integrated development environments. This means Qt programmers can use the IDE they are most comfortable with to do cross-platform development.

安装QT SDK 后,默认采用的是动态链接库的编译方式, 要生成静态的版本, 就需要自己重新进行编译.

设置 QMAKESPEC 为 win32-msvc2008 或 win32-msvc2005 的环境变量
设置 QTDIR 环境变量 如: C:\Qt\2009.05\qt
加入 C:\Qt\2009.05\qt\bin 到 PATH中
打开一个 Visual Studio command prompt 命令窗口
echo %QMAKESPEC%
configure.exe --help
C:\Qt\2009.05\qt\mkspecs\win32-msvc2008\qmake.conf
QMAKE_LFLAGS            = -static
configure
nmake

常见错误

cannot open input file 'QtCored4.lib'// 是因为没有进行静态编译. 需先进行前面的操作. Qt 2009.05


编译出的是类似 QtWebKitd4.lib, 而不是 QtWebKit4.lib // Qt 2009.05

编译出 QtWebKitd4.lib Failed to write the updated manifest to the resource of file QtWebKitd4.dll // Qt 2010.01

QtUiToolsd.lib没编译出来 ?

需要什么库就编译什么库, 如编译 SQLite3

cd %QTDIR%\src\plugins\sqldrivers\sqlite
qmake "INCLUDEPATH+=C:\sqlite-3.6.22" "LIBS+=C:\Qt\2010.01\qt\plugins\sqldrivers\qsqlite.lib" sqlite.pro
nmake

在C:\Qt\2010.01\qt\plugins\sqldrivers下创建了qsqlite4.dll, qsqlite4.lib, qsqlited4.dll, qsqlited4.lib

PostgreSQL

cd $QTDIR/src/plugins/sqldrivers/psql
qmake "INCLUDEPATH+=C:\pgsql-8.3.6\include" "LIBS+=C:\pgsql-8.3.6\lib\libpq.lib" psql.pro
nmake

在C:\Qt\2010.01\qt\plugins\sqldrivers下创建了 qsqlpsql4.lib, qsqlpsql4.dll, qsqlpsqld4.dll, qsqlpsqld4.lib

make: /usr/bin/uic-qt4: Command not found

apt-get install libqt4-dev

Code

Qt hello world

#include <QtGui>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QLabel label("Hello, world!");
    label.show();
    return app.exec();
}

Compiling and executing

1. Create a folder named Hello
2. Copy paste the above program as Hello.cpp in folder Hello
3. At Hello folder run

 a. qmake -project
 b. qmake 
 c. make/gmake/nmake - as needed by OS and your compiler setups

4. Execute ./release/Hello (Or release\Hello.exe in Windows)

Plugins

Qt provides two APIs for creating plugins:

  • A higher-level API for writing extensions to Qt itself: custom database drivers, image formats, text codecs, custom styles, etc.
  • A lower-level API for extending Qt applications.

http://docs.huihoo.com/qt/4.6/plugins.html

Qtopia / Qt Extended

Qtopia-app-chooser.png

Android

Qt on Android

iOS

Qt on iPhone

CORBA

Wikipedia-35x35.png 您还可以在维基百科上了解到此条目的中文信息 Qt 感谢, 维基百科.

Qt CORBA Framework

SOAP

The Qt SOAP project provides basic web service support with version 1.1 of the SOAP protocol.

SSL

SSL Socket

MFC

Qt/MFC Migration Framework

GTK+

Migrate from GTK+ to Qt

State Machine

  • Qt State Machine Framework
  • FSME是Linux下一个基于Qt的状态机建模工具,它能够自动生成状态机框架代码,并且同时支持C++和Python语言.

Database

Mobile Platforms

Qt IDE

Projects

用户

链接

Comment-32x32.png

<discussion>characters_max=300</discussion>

分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱