Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt QML在运行时更改屏幕宽度_Qt_Qml - Fatal编程技术网

Qt QML在运行时更改屏幕宽度

Qt QML在运行时更改屏幕宽度,qt,qml,Qt,Qml,我尝试根据当前的宽度/高度屏幕大小创建应用程序。我有几个显示器:2k和4k。然后我在2k上启动应用程序,它最初是由4k监视器确定的宽度,但事实并非如此 基于屏幕大小的窗口大小: Window { width: 0.42 * Screen.width height: 0.85 * Screen.height x: Screen.virtualX + 0.5 * Screen.width - 0.5 * width y: Screen.virtualY + 0.5 * Screen.

我尝试根据当前的宽度/高度屏幕大小创建应用程序。我有几个显示器:2k和4k。然后我在2k上启动应用程序,它最初是由4k监视器确定的宽度,但事实并非如此

基于屏幕大小的窗口大小:

Window {
  width: 0.42 * Screen.width
  height: 0.85 * Screen.height
  x: Screen.virtualX + 0.5 * Screen.width - 0.5 * width
  y: Screen.virtualY + 0.5 * Screen.height - 0.5 * height

  onWidthChanged: console.log("window width: ", width)
}
启动后,我收到以下日志:

qml: window width:  1612
qml: window width:  806
和破碎的动画:


这些神奇的数字是什么?你想用它得到什么?你的动画到底有什么问题?@folibis你在说什么神奇的数字?在代码中,它只是一个系数。在日志中,它是在4k监视器上重新启动后的日志:。2k监视器上的动画:我建议使用
Qt.application.screens[I].width
(您感兴趣的屏幕的I索引),根据附加的屏幕数量,而不是
screen.width
;查看是否有帮助您还可以使用窗口中的
screen:Qt.application.screens[0]或1
强制应用程序在屏幕1或2中打开这些神奇的数字是什么,您想使用它们获得什么?你的动画到底有什么问题?@folibis你在说什么神奇的数字?在代码中,它只是一个系数。在日志中,它是在4k监视器上重新启动后的日志:。2k监视器上的动画:我建议使用
Qt.application.screens[I].width
(您感兴趣的屏幕的I索引),根据附加的屏幕数量,而不是
screen.width
;查看该帮助您是否还可以使用窗口中的
screen:Qt.application.screens[0]或1
强制应用程序在屏幕1或2中打开