小部件的某些部分(例如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的点给出。