欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
Qt
小 (→图集) |
小 (→图集) |
||
第283行: | 第283行: | ||
image:qt3d-plugins.jpeg|Qt 3D | image:qt3d-plugins.jpeg|Qt 3D | ||
image:qt-threads-and-objects.png|线程与对象 | image:qt-threads-and-objects.png|线程与对象 | ||
+ | image:Qt-Signals-and-Slots.png|信号与槽 | ||
</gallery> | </gallery> | ||
2021年9月14日 (二) 06:12的版本
您可以在Wikipedia上了解到此条目的英文信息 Qt Thanks, Wikipedia. |
Qt – 一个跨平台应用程序和UI开发框架
支持 Windows, Mac OS X, Linux/X11, embedded Linux, Windows Mobile 和 Symbian、MeeGo 平台。
新闻
- 诺基亚出售Qt业务给Digia,该公司将接手Qt商业授权和服务业务,诺基亚也将移交大约3500家商业客户。看来,诺基亚是要彻底放弃Qt了。(March 7, 2011)
自http://feeds.feedburner.com/TheQtBlog加载RSS失败或RSS源被墙
- Qt, now also GPL! (2000.09.04)
简介
功能
模块化 Qt C++ 类库提供一套丰富的应用程序生成块 (block),包含了生成高级跨平台应用程序所需的全部功能。
路线图
版本
6.0
Qt 6.0 正式发布 Qt5.0 必须以 C++98 为基础,但现在 Qt6 可以依赖 C++17。
5.15
5.9
5.8
5.7
5.6
5.5
5.4
5.0
4.8
4.7
Modules
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.
浏览器
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
VS
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
Qt Script
Qt Script是Qt提供的支持ECMAScript标准的脚本语言。
Sailfish OS
Android
iOS
CORBA
您还可以在维基百科上了解到此条目的中文信息 Qt 感谢, 维基百科. |
SOAP
- The Qt SOAP project provides basic web service support with version 1.1 of the SOAP protocol.
- KD Soap
SSL
MFC
GTK+
State Machine
- Qt State Machine Framework
- FSME是Linux下一个基于Qt的状态机建模工具,它能够自动生成状态机框架代码,并且同时支持C++和Python语言.
Database
Mobile Platforms
Qt IDE
语言绑定
Projects
- KDE
- Tor
- Arora
- VLC
- Mixxx
- MythTV
- SMPlayer
- PostBooks
- Maemo
- Psi
- Scribus
- VirtualBox
- Wireshark
- Marble
- Last.fm
- BOUML
- Orange
- LibreCAD
- FatCRM is a desktop application for SugarCRM.
- Kuesa Runtime module for Qt 3D Boost your 3D design-to-code workflow
- Hotspot - the Linux perf GUI for performance analysis
- Shadowsocks-Qt5
- therecipe/qt allows you to write Qt applications entirely in Go, JavaScript/TypeScript, Dart/Flutter, Haxe and Swift
用户
解决方案
- Automation with Qt 自动化
- Qt in Medical 医疗
- Qt in Digital TV and Set-Top-Boxes 数字电视、机顶盒
- Qt for IoT 物联网
- Mobile with Qt 移动应用