gpt4 book ai didi

qt - Windows Mobile中的非关闭关闭按钮(使用Qt开发)

转载 作者:行者123 更新时间:2023-12-04 18:33:17 25 4
gpt4 key购买 nike

每当我通过使用 Qt 开发的代码将 Windows Mobile 应用程序设置为最大化时,它们的标题栏就会消失,只剩下 Windows Mobile 的默认标题栏。但是,每当我单击那个 X 按钮时,应用程序都不会关闭;相反,它一直落后。

alt text http://img27.imageshack.us/img27/2296/winmobileexit.jpg

经过一些谷歌搜索,我意识到这是 default behaviour for X button on Windows Mobile ,这也是我的问题的原因;当我想通过从设置->系统->内存->运行程序中单击激活来显示最小化/隐藏的程序时,

alt text http://img17.imageshack.us/img17/7387/winmobileexit2.jpg

应用程序不会重绘并保持不可见状态,子部件会响应相应的事件:

alt text http://img505.imageshack.us/img505/5276/winmobileexit3.jpg

我不认为这种行为与我的代码有任何关系,因为即使使用以下简单代码也会出现此问题:(如果您能在您的设备上测试它,我将不胜感激)

#include <QApplication>
#include <QtGui>


int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QLabel w("aduket");
w.setWindowState(w.windowState()|Qt::WindowMaximized);
w.show();
return a.exec();
}

尽管我尝试获取该按钮的关闭事件,但我做不到。再一次,我想到的唯一解决方案是删除那个 X 按钮并在右下角的菜单中添加一个退出项。这合理吗?这种行为的原因可能是什么?您知道如何解决此行为吗?

提前致谢。

最佳答案

“智能最小化”按钮由通常在创建 Windows 时设置的样式位处理 - 特别是 WS_NONAVDONEBUTTON。对于 CF 应用程序,这是通过将 MinimizeButton 属性设置为 false 来控制的。在 C/C++ 中,它是通过在调用 CreateWindow 时添加该位或之后设置该位(直接或如 Shane 建议,通过 SHDoneButton)来完成的。

Qt 显然是在创建一个窗口,因此您需要在该过程中更改样式位。我不是 Qt 开发人员,所以我不知道它在那个框架中是如何完成的。

关于qt - Windows Mobile中的非关闭关闭按钮(使用Qt开发),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1079825/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com