Qt特征定义文件(裁剪定制Qt库)

本文介绍了如何通过修改Qt源码目录下的qconfig.h文件来裁剪定制Qt库,实现特定功能的需求。文中详细列举了可禁用的不同特性及其依赖关系,适用于希望减小Qt库体积并固定应用配置的嵌入式开发场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Qt特征定义文件(裁剪定制Qt库)
Qt源码目录下 src/tools/qfeatures.h文件包含了 src/tools/qconfig.h,因此修改 qconfig.h,就可以编译自己想要的 特征 ,即qt所有功能的一个子集。

需要注意的是这样的修改只有Qt/Embedded平台能支持,因为嵌入式环境中,减小qt库的大小很重要,并且应用配置常常是固定的。

config.h文件定义的是需要去除的特征。有些特征依赖于其他的特征,这些依赖关系在qfeatures.h可以看到。

可选项如下:

MacroDisablesSet automatically by
Images (QImageIO)
QT_NO_IMAGEIO_BMPThe Microsoft Bitmap image file format.
QT_NO_IMAGEIO_PPMThe Portable Pixmap image file format.
QT_NO_IMAGEIO_XBMThe X11 Bitmap image file format.
QT_NO_IMAGEIO_XPMThe X11 Pixmap image file format.
QT_NO_IMAGEIO_PNGThe Portable Network Graphics image file format.
Animation
QT_NO_ASYNC_IOAsynchronous I/O (QAsyncIO)
QT_NO_ASYNC_IMAGE_IOAsynchronous Image I/O and GIF image support (QImageDecoder, ...)
QT_NO_MOVIEAnimation support (QMovie)QT_NO_ASYNC_IO, QT_NO_ASYNC_IMAGE_IO
Fonts
QT_NO_TRUETYPETrueType (TTF and TTC) font file format, only used by Qt/Embedded.
QT_NO_BDFBitmap Distribution Format (BDF) font file format, only used by Qt/Embedded.
QT_NO_FONTDATABASEFont database.
Internationalization
QT_NO_I18NConversions between Unicode and 8-bit encodings.
QT_NO_UNICODETABLESLarge tables defining such things as upper and lowercase conversions for all Unicode characters.
MIME
QT_NO_MIMEMultipurpose Internet Mail Extensions, an internet standard for encoding and tagging typed data (eg. text, images, colors) (QMimeSource)
QT_NO_RICHTEXTHTML-like text (QStyleSheet,QLabel)QT_NO_MIME
QT_NO_DRAGANDDROPDrag-and-drop data between applications (QDragObject)QT_NO_MIME
QT_NO_CLIPBOARDCut-and-paste data between applications (QClipboard)QT_NO_MIME
Sound
QT_NO_SOUNDPlaying audio files (QSound)
Scipting
QT_NO_PROPERTIESScripting of Qt-based applications.
Qt/Embedded-specific
QT_NO_QWS_CURSORThe cursor sprite on Qt/Embedded. Pen-operated devices would not normally need this feature.
QT_NO_QWS_DEPTH_8GRAYSCALE8 bits per pixel: 256 levels of gray. Incompatible with QWS_DEPTH_8.
QT_NO_QWS_DEPTH_88 bits per pixel: 216-color cube with 40 auxiliary colors. Incompatible with QWS_DEPTH_8GRAYSCALE.
QT_NO_QWS_DEPTH_1515 bits per pixel: 32 levels for each of red, green and blue.
QT_NO_QWS_DEPTH_1616 bits per pixel: 64 levels of green, 32 levels for red and for blue.
QT_NO_QWS_DEPTH_3232 bits per pixel: 256 levels for each of red, green and blue.
QT_NO_QWS_MACH64Mach64 accelerated driver (demonstration only).
QT_NO_QWS_VFBVirtual framebuffer running on X11 (see reference documentation).
Networking
QT_NO_NETWORKPROTOCOLAbstract multi-protocol data retrieval, with local file retrieval included (QNetworkProtocol)
QT_NO_NETWORKPROTOCOL_FTPFTP-protocol data retrieval.QT_NO_NETWORKPROTOCOL
QT_NO_NETWORKPROTOCOL_HTTPHTTP-protocol data retrieval.QT_NO_NETWORKPROTOCOL
Painting/drawing
QT_NO_COLORNAMESColor names such as "red", used by someQColorconstructors and by some HTML documents (QColor,QStyleSheet)
QT_NO_TRANSFORMATIONSUsed by a number of classes in Qt. With this, rotation and scaling are possible. Without it, only co-ordinate translation (QWMatrix)
QT_NO_PSPRINTERPostScript printer support.
QT_NO_PRINTERPrinter support (QPrinter)QT_NO_PSPRINTER (Unix only)
QT_NO_PICTURESave Qt drawing commands to a files (QPicture)
Widgets
QT_NO_WIDGETSDisabling this disables all widgets exceptQWidget.
QT_NO_TEXTVIEWHTML document viewing (QTextView)QT_NO_WIDGETS, QT_NO_RICHTEXT
QT_NO_TEXTBROWSERHTML document browsing (QTextBrowser)QT_NO_TEXTVIEW
QT_NO_ICONVIEWLabelled icons (QIconView)QT_NO_WIDGETS, QT_NO_DRAGANDDROP
QT_NO_LISTVIEWLists of information (QListView)QT_NO_WIDGETS
QT_NO_CANVASObject canvas (QCanvas)QT_NO_WIDGETS
QT_NO_DIALValue control (QDial)QT_NO_WIDGETS
QT_NO_WORKSPACEMulti-document interface (QWorkspace)QT_NO_WIDGETS
QT_NO_LCDNUMBERLCD-like number display (QLCDNumber)QT_NO_WIDGETS
GUI Styles
QT_NO_STYLE_WINDOWSMicrosoft Windows style (QWindowsStyle)QT_NO_WIDGETS
QT_NO_STYLE_MOTIFOSF Motif style (QMotifStyle)QT_NO_WIDGETS
QT_NO_STYLE_CDEOpen Group CDE style (QCDEStyle)QT_NO_STYLE_MOTIF
QT_NO_STYLE_AQUAMacOS X style (QAquaStyle)
QT_NO_STYLE_PLATINUMMacOS 9 style (QPlatinumStyle)QT_NO_WIDGETS
QT_NO_STYLE_SGISGI style (QSGIStyle)QT_NO_STYLE_MOTIF
Dialogs
QT_NO_DIALOGSDisabling this disables all common dialogsQWidget.QT_NO_WIDGETS
QT_NO_FILEDIALOGThe file selection dialog (QFileDialog)QT_NO_DIALOGS, QT_NO_NETWORKPROTOCOL, QT_NO_LISTVIEW
QT_NO_FONTDIALOGThe font selection dialog (QFontDialog)QT_NO_DIALOGS, QT_NO_FONTDATABASE
QT_NO_COLORDIALOGThe color selection dialog (QColorDialog)QT_NO_DIALOGS
QT_NO_INPUTDIALOGText input dialog (QInputDialog)QT_NO_DIALOGS
QT_NO_MESSAGEBOXMessage/prompting dialog (QMessageBox)QT_NO_DIALOGS
QT_NO_PROGRESSDIALOGLong-computation progress dialog (QProgressDialog)QT_NO_DIALOGS
QT_NO_TABDIALOGTabbed-pages dialog (QTabDialog)QT_NO_DIALOGS
QT_NO_WIZARDMulti-step dialog (QWizard)QT_NO_DIALOGS
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值