【发布时间】:2013-09-29 14:23:00
【问题描述】:
我需要编写一个应用程序,该应用程序在视觉上与为 Windows XP/Vista/7 原生编写的应用程序没有区别,使用的是最现代 Visual Studio 的默认设置。但我正在使用 MinGW 和 Vim(在 C++ 中)进行开发。
我特别希望在以上三个版本的 Windows 上原生以下控件:窗体镶边、按钮、复选框、菜单、组合框、进度条、滚动条、富文本框 .这对我来说已经足够了。
我知道,如果您根据需要加载 GdiPlus 和其他类似 riched32.dll 的东西,并使用 Windows API 来实例化控件,那么操作系统将替换其 GdiPlus 版本或其他库,因此它看起来像 XP 样式的控件XP、Vista 上的 Vista 等。
但我不想使用普通的 Windows API,因为即使检索默认字体也需要半页代码,以及我想做的类似故事。所以我想使用一个工具包。
wxWidgets、Qt、GTK+、FLTK 似乎是使用最广泛的。但它们都是跨平台的。我使用过跨平台的应用程序,其中许多都有外来的 GUI 控件(我称它们为小部件)。所以我的问题是:哪些工具包可以生成上面列出的真正具有原生外观的 UI 控件,并在上面列出的三个 MSWin 版本上正确显示?
我已经在 Google 图片中输入了每个 +“windows”,但很难说,除了 FLTK 可能无法做到这一点。你们中的许多人一定知道答案了...
【问题讨论】:
-
wxWidgets 使用原生 GUI 控件。
-
Qt 也使用原生 GUI 控件
-
"Qt 使用原生的 graphics API 来渲染看起来像原生的界面元素等,但它实际上并没有使用原生控件本身。这意味着它们确保天生的外表,而不是行为。” (来自wiki.wxwidgets.org)
-
谁能提供一个使用 GTK、wxwidgets、FLTK、QT 或 Ultimate++ 的知名应用程序列表,好吗?比较它们的外观可能会很好。
-
@skan 你可以在这里寻找使用 xwidgets 的应用程序:en.wikipedia.org/wiki/Category:Software_that_uses_wxWidgets
标签: c++ windows user-interface gtk wxwidgets