![]() |
1
3
“QT如何仅使用C++来为许多平台定制自定义GUI?” “它是否利用了每个平台的API……“ 你回答了你自己的问题。它为开发人员编写应用程序提供了一个通用库。应用程序开发人员只编写一次应用程序,而不关心平台的具体情况。然后,库作者为每个平台提供库的不同版本,这些版本处理所有特定的UI调用。这称为封装: http://en.wikipedia.org/wiki/Information_hiding#Encapsulation 如果您要编写自己的此类库,则需要弄清楚目标平台之间的共同点,或者弄清楚应用程序需要哪些高级概念,并创建抽象。然后,为您想要支持的每个平台实现这个抽象。 编辑: 另请参见朱利亚诺的评论。这似乎更接近你想做什么,而不是你问的问题。如果我能避免的话,我不会像Trolltech、WxWidgets团队、GTK的人或者Mono的人那样重新做工作。 |
![]() |
2
3
Trolltech(现在的诺基亚)的优秀员工为您编写所有平台特定的代码。只有到它们库的接口在平台上保持不变。您必须确保只使用它们的类,并且不进行任何特定于操作系统的调用。 如果需要,可以修改图形和处理程序来扩展qt库并创建自己的外观。 |
![]() |
3
1
您的Qt应用程序不必具有简单的标准平台图形外观,但有一些方法可以使用Qt设计独特的应用程序。 例如,可以使用样式表设置应用程序的样式: http://doc.qt.io/qt-5/stylesheet.html 或者甚至使用定制的qStyle(这并不容易): http://doc.qt.io/qt-5/qstyle.html QtQuick是我们在即将到来的Qt4.7中引入的一项新技术(如果您感兴趣,请查看测试版)。它允许您使用自定义动画、状态转换和其他效果,从简单的原语轻松定义自定义UI组件。参见例如 http://www.youtube.com/watch?v=8G4U7QWRajg . |
![]() |
user591410 · 框架内包含非模块化标头错误 6 年前 |
|
user5911925 · Laravel刀片:模板未渲染 6 年前 |
![]() |
Linux Geek · typedef的用例 6 年前 |
![]() |
Mark Fleming · 实体框架6代码优先-多个模型/配置 6 年前 |