我有一个qt小部件应用程序,需要重新安排自己,如果屏幕方向是纵向与横向或如果窗口是调整到比它是高比它宽。这个应用程序在两种模式下都有相同的小部件和功能,只是布局不同。
我知道您可以在运行时根据调整大小事件在布局中移动小部件,但这本身并不理想,因为您无法预先在设计器中看到它的样子。我还在归档文件中找到了这个示例:https://doc.qt.io/archives/qt-4.8/qt-widgets-orientation-example.html有两个独立的UI,它们可以选择在屏幕调整大小时显示哪个UI,但在这种情况下,每个单独的UI更改、插槽连接等都必须对这两个UI进行,这也非常麻烦,不可伸缩,而且容易出错。
有没有一种干净的方法来处理这种情况?或者至少在不运行应用程序的情况下可视化这两种模式?Qt版本为5.12+
发布于 2019-04-24 03:18:51
从理论上讲,你可以创建2个文件或对象。一个是myLandscapeWidget和其他myPortraitWidget。用一个装载器包围它们,可以做一个
Loader {
id: myLoader
anchors.fill: parent
sourceComponent: Screen.orientation === Qt.LandscapeOrientation ? land : port
Component {
id: land
myLandscapeWidget {
width: 500
height: 100
}
}
Component {
id: port
myPortraitWidget {
width: 100
height: 500
visible: Screen.orientation !== Qt.LandscapeOrientation
}
}
}
https://stackoverflow.com/questions/55816397
复制相似问题