当前位置:  开发笔记 > IOS > 正文

Qt GUI内部 - 小部件绘画?

如何解决《QtGUI内部-小部件绘画?》经验,为你挑选了1个好方法。

我一直在使用QT一段时间,我一直在想关于在Windows中绘制GUI的方式.
是真的使用QPainter自行绘制所有按钮,编辑框,组合框,复选框,选项卡等,还是以某种方式使用本机窗口小部件?

它可以做自定义样式和蒙皮的事实表明它确实使用QPainter绘制了所有内容,但是如何才能维护这种代码?Qt开发人员是否真的对窗口系统的整个功能进行了逆向工程?这有点浪费吗?
另一个证据是,如果我在Qt gui上使用Spy ++,那么所有窗口都会显示一个等于"QWidget"的类名.如果它使用原生小部件不应该是"按钮","静态"等?

在其他平台上怎么样?它在Max OSX中也是这样做的吗?



1> Ariya Hidaya..:

在Windows XP和Vista上(显示设置设置为Classic时除外),通过QWindowsXPStyle和QWindowsVistaStyle的小部件绘画实际上使用低级主题特定绘图(uxtheme.dll),以便例如按钮看起来像本机按钮.在旧版本的Windows上,Qt通过QWindowsStyle模拟小部件绘制.

Mac OS X上的情况类似,QMacStyle依赖于外观管理器来委托窗口小部件的低级绘制.

对于X11,通常Qt使用自己的风格绘画并且具有模仿某些窗口系统的某些样式,例如QMotifStyle具有与Motif类似的外观并且没有实际加载并且依赖于Motif环境.但是当在GNOME下运行时,可选择Qt可以通过QGtkStyle使用原生Gtk +主题.

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有