高 DPI 显示器支持的一些问题

2015-08-30 20:37:23 +08:00
 LPeJuN6lLsS9
现有一个 Qt4 的应用,根据 http://blog.davidedmundson.co.uk/blog/kde_apps_high_dpi 想要获得良好高 DPI 支持得升级到 5 ,但是:

1.Qt5 支持了 device independent pixel ,但缩放比只能是整数,而我要用的显示器想进行 1.5 倍缩放( FHD@13.3 ),所以这个功能对我没用?
2.苹果的 retina 没有上面的问题是因为缩放比例总是 2 倍吗?
5057 次点击
所在节点    Qt
8 条回复
aliuwr
2015-08-30 20:55:31 +08:00
见此处, https://design.google.com/tool/devices/。
苹果总是整数倍缩放(,而不只是 2 倍),所以不会有问题吧。
dirtycold
2015-08-30 20:57:21 +08:00
Qt5 截止 5.4.2 确实不支持非整数倍缩放。
同时 QT_DEVICE_PIXEL_RATIO=2 还有小问题,比如菜单绘制会时不时出错。
so Qt 本身要达到 1.5 倍缩放可能需要再等新版本了
LPeJuN6lLsS9
2015-08-30 21:30:46 +08:00
@dirtycold 这个功能确实是挺想要的,因为现在的应用里写 stylesheet 的时候都是各种 1px 的 hardcode ……然后改菜单里的图标大小又比较麻烦(自己改代理 QStyle 之类)
但是仔细想想 1.5 倍缩放 1px 的线条出来还是 1px (应该是吧?),等于没有。最底线的菜单还会出错(求出处)就是完全没价值了,我还是老实 Qt4 好了
dirtycold
2015-08-30 22:20:56 +08:00
菜单破损效果在这里: http://wstaw.org/m/2015/08/30/snapshot1.png 额 才想起来没有说开发平台,我用 linux , Qt5 使用 fusion 风格。测试使用的程序是 Qt Creator , 右键菜单完整的菜单项有约 10 个,但右键点击完全没有显示,随后鼠标划过菜单位置会刷新出加亮的菜单项。(其他平台没有测,搞不好没有这种情况)

猜想: QPainter 加上 anti-aliasing 说不定能把 1.5px 绘制出来 :-)
jjgod
2015-08-30 22:29:31 +08:00
可以试试 Qt 5.6 的新支持: http://doc-snapshots.qt.io/qt5-5.6/highdpi.html#qt-support

如果还是不行的话那应该短期内也不会支持了。
dirtycold
2015-08-30 22:36:39 +08:00
@jjgod 看起来有点意思。`Note: Non-integer scale factors may cause significant scaling/painting artifacts.`希望这个影响不大
LPeJuN6lLsS9
2015-09-07 19:22:14 +08:00
偶然看了一下 os x 的缩放选项界面,看上去是可以随意设置缩放比例?
http://www.eizoglobal.com/support/compatibility/dpi_scaling_settings_mac_os_x/index.html
nmgwddj
2020-12-15 15:10:35 +08:00
QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough);

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/217159

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX