Qt 如果程序被最大化,我将其最小化,然后单击返回到程序,它处于窗口模式?
默认情况下,我的程序以窗口模式启动Qt 如果程序被最大化,我将其最小化,然后单击返回到程序,它处于窗口模式?,qt,windows-10,qml,qtquick2,Qt,Windows 10,Qml,Qtquick2,默认情况下,我的程序以窗口模式启动 我的问题是,如果我启动它,然后按最大化,然后按最小化,然后单击任务栏上的它,它处于窗口模式且未最大化 老实说,我制作了一个全新的窗口,因为我喜欢设计清晰的程序。我不知道你是否可以改变一个普通窗口的顶部,比如关闭按钮的图标或者它的颜色 main.qml: 这里有一个简单的方法来解决这个问题: 将属性int saved_state添加到您的应用程序窗口 然后添加以下代码: onVisibilityChanged: { if(saved_state ===
我的问题是,如果我启动它,然后按最大化,然后按最小化,然后单击任务栏上的它,它处于窗口模式且未最大化 老实说,我制作了一个全新的窗口,因为我喜欢设计清晰的程序。我不知道你是否可以改变一个普通窗口的顶部,比如关闭按钮的图标或者它的颜色 main.qml:
这里有一个简单的方法来解决这个问题: 将
属性int saved_state
添加到您的应用程序窗口
然后添加以下代码:
onVisibilityChanged: {
if(saved_state === 4 && visibility === 2) {
showMaximized()
saved_state = -1
}
}
然后将您的MouseArea
最小化\u sindowMouseArea
添加以下行:saved_state = mainWindow.visibility //NEW LINE
mainWindow.visibility = "Minimized" //Existing line
说明:在最小化之前保存窗口的状态,然后在还原时将其还原为保存状态。
我不知道有什么更干净的方法,但这应该可以做到:)这里有一个简单的方法来解决这个问题:
将属性int saved_state
添加到您的应用程序窗口
然后添加以下代码:
onVisibilityChanged: {
if(saved_state === 4 && visibility === 2) {
showMaximized()
saved_state = -1
}
}
然后将您的MouseArea
最小化\u sindowMouseArea
添加以下行:
saved_state = mainWindow.visibility //NEW LINE
mainWindow.visibility = "Minimized" //Existing line
说明:在最小化之前保存窗口的状态,然后在还原时将其还原为保存状态。
我不知道有什么更干净的方法,但是应该这样做:“你也可能想把把窗口移动到C++的逻辑移动,否则你的窗口会很紧张。你也可能想把把窗口移动到C++的逻辑移动,否则你的窗口移动会非常紧张。4==最大化,2==正常。(这就是你的应用程序在还原时所做的,它正在恢复正常,因此你可以检测到它并将其最大化)4===最大化,2==正常(这就是你的应用程序在还原时所做的,它正在恢复正常,所以你可以检测到它并将其最大化)