Qt和UI Skinning

Jas*_*enX 6 qt

我想在这里咨询关于Qt和皮肤的圣人,得到你的意见并为我的发展规划一条道路.我的要求如下:

  1. 我的Qt/C++应用程序(具有Mac,Windows和Linux版本的跨平台)需要具有模块化外观.

  2. 皮肤被定义为一组一个或多个元素: - 窗口背景纹理 - UI控件的外观/感觉,例如编辑框,下拉列表,单选按钮,按钮等. - 窗口"标题"的外观/感觉,调整大小夹点等等

  3. 皮肤将与应用程序安装程序一起安装,允许用户选择他/她想要使用的皮肤.用户应该能够动态更改皮肤.

我可以去QML路线吗?应该是自定义的还是基于应用程序内置的简单资源?任何设计建议将不胜感激.

谢谢.

Pan*_*kaj 7

如果我理解正确,那么样式表是最好的方法.您可以创建类似于CSS的样式表,然后将它们作为命令行选项传递给应用程序,或者在调用时加载以在运行时设置应用程序的样式.这样,您可以创建多个样式表,每个样式表具有不同的外观和感觉,并允许用户随意加载它们.由于它的CSS它不需要任何新的学习,你可以在源代码之外保留所有样式.

以下是可以帮助您快速启动和运行的资源列表:

http://blog.qt.io/blog/2007/11/27/theming-qt-for-fun-and-profit/

http://doc.qt.io/qt-5/stylesheet.html