Qt5,X11,libxcb。滑块和小部件的其他部分太小

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt5,X11,libxcb。滑块和小部件的其他部分太小相关的知识,希望对你有一定的参考价值。

小部件的某些部分(例如QDateEdit中的按钮)太小,因此无法与触摸屏一起使用。

在我的系统上,滑块,例如对于小部件的滚动区域,如果我相应地使用setGlobalStrut(),则变得更大。但是滑块上有带箭头的按钮,这些按钮在我们的系统上非常小。 QDateWidget也是如此。带箭头的按钮在我们的系统中非常非常小,因此不能很好地用于触摸屏。

我们使用Pvbrowser(pvbrowser.org)在带触摸屏的嵌入式系统上显示气体测量设备。它正在运行嵌入式Linux yocto / poky“jethroo”。通过传递参数,应用程序调用QApplication :: setGlobalStrut。结果是,一些元素变得更大,但不是小部件中的子元素。

有没有办法在这样的系统上改变Qt应用程序的外观:使用X11而不是egl,因为需要vnc功能。不使用显示管理器,Windows管理器是“火柴盒”。 Qt是版本5.5.1。

答案

与此同时,我找到了一个解决方案。屏幕尺寸未在X11中设置,xrandr报告为0 dpi。如果我设置dpi,例如通过从mconsole调用“xrandr --dpi 146”,在重新启动应用程序时,dateTime小部件,滚动条或其他内容中的箭头元素等的大小会相应调整。

不仅小部件及其元素被改变,而且字体大小也是如此,因为它以取决于dpi的点给出。

以上是关于Qt5,X11,libxcb。滑块和小部件的其他部分太小的主要内容,如果未能解决你的问题,请参考以下文章

具有重叠子小部件的 Qt 自定义小部件

ubuntu怎么编译 libxcb

R闪亮:如何将滑块和单选按钮链接到ggplot

caca需要用到x11作为图形输出

如何将 jQuery 滑块的值保存到 Person 模型中?

在Flutter中刷新小部件外的列表视图?