我在带有触摸屏设备的Windows 10上运行PyQt5应用程序,我需要全屏运行它(任务栏也必须在平板电脑模式下隐藏)。
在经典模式下,一切正常。 在平板电脑模式下,我有两个问题:
这是非常讨厌的行为。
基本上我所做的是主窗口启动时的showFullscreen()和对话框上的dialog.exec_(),以便将其显示为模态对话框。
我试图寻找帮助以解决这个问题,但我发现没有什么有用的。我读到其他人有类似的行为,但我找不到解决方案。
您是否有关于如何在Python 3.5中处理此问题的建议?
提前感谢您的任何反馈。
答案 0 :(得分:0)
显然,我能够找到导致Windows 10在平板电脑模式下使窗口最小化的原因,所以我决定在这里编写它,以希望对其他人有帮助。
这个问题(至少在我的特定情况下)与以下事实有关:某些QWidget(也是扩展QWidget的自定义类),没有在构造函数中传递给定的父级(即parent = None)。 由于我是在QWidget's documentation page中找到的,所以:
没有父窗口小部件的窗口小部件始终是一个独立的窗口(顶层窗口小部件)。
我解析了代码,并将父级设置为那些QWidget,现在看来问题已经解决了。
作为旁注:我发现我还必须在构造函数中将父级设置为某些(但不一定是全部)QWidget的子类(即QScrollArea,QScrollWidget,QFrame等)。不知道为什么,但是在我看来,无论如何在构造函数中设置父代都是一种最佳实践,所以从现在开始我就这样。