加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows – Qt GUI内部 – 小部件绘画?

发布时间:2020-12-14 02:10:28 所属栏目:Windows 来源:网络整理
导读:我一直在使用QT一段时间,我一直在想关于在 Windows中绘制GUI的方式. 是真的使用QPainter自行绘制所有按钮,编辑框,组合框,复选框,选项卡等,还是以某种方式使用本机窗口小部件? 它可以进行自定义样式和蒙皮的事实表明它实际上确实使用QPainter绘制了所有内容
我一直在使用QT一段时间,我一直在想关于在 Windows中绘制GUI的方式.
是真的使用QPainter自行绘制所有按钮,编辑框,组合框,复选框,选项卡等,还是以某种方式使用本机窗口小部件?

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

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

解决方法

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读