进入全屏模式会在任务栏中隐藏该图标,并且该应用程序将从后台运行

cd-CreepArghhh

当我使窗口进入全屏模式时,应用程序图标从任务栏隐藏(执行alt-tab后)。它也没有出现在alt+tab窗口中。它只显示了我打开过的其他窗口。

当我检查任务管理器时,python进程在该background processes类别下。我无法切换回窗口。

进入全屏模式时,如何阻止应用程序在后台运行?

我的代码:

import sys
from PyQt5.QtGui import QKeySequence
from PyQt5.QtWidgets import QApplication, QLabel, QMainWindow, QShortcut
from PyQt5.QtCore import Qt

# Subclass QMainWindow to customise your application's main window
class MainWindow(QMainWindow):

    def __init__(self, *args, **kwargs):
        super(MainWindow, self).__init__(*args, **kwargs)

        self.setWindowTitle("Hello fullscreen world")

        label = QLabel("Hello fullscreen world")

        # The `Qt` namespace has a lot of attributes to customise
        # widgets. See: http://doc.qt.io/qt-5/qt.html
        label.setAlignment(Qt.AlignCenter)

        # Set the central widget of the Window. Widget will expand
        # to take up all the space in the window by default.
        self.setCentralWidget(label)

        
        self.shortcut_close_window = QShortcut(QKeySequence('F11'), self)
        self.shortcut_close_window.activated.connect(self.goFullscreen)
    def goFullscreen(self):
        if self.isFullScreen():
            self.setWindowFlags(self._flags)
            self.showNormal()
        else:
            self._flags = self.windowFlags()
            self.setWindowFlags(Qt.WindowCloseButtonHint | Qt.WindowType_Mask)
            self.showFullScreen()


app = QApplication(sys.argv)

window = MainWindow()
window.show()

app.exec_()

注意:即使使用ctrl + c终止进程或关闭命令提示符也不起作用,只有任务管理器起作用。

穆斯塔法AHCI

我不知道为什么要self.setWindowFlagsgoFullscreen()函数中使用没必要。

def goFullscreen(self):
        if self.isFullScreen():
            #self.setWindowFlags(self._flags)
            self.showNormal()
        else:
            #self._flags = self.windowFlags()
            #self.setWindowFlags(Qt.WindowCloseButtonHint | Qt.WindowType_Mask)
            self.showFullScreen()

顺便说一句,原因是您使用了Qt.WindowType_Mask标志。

WindowType_Mask:用于提取窗口标志的窗口类型部分的掩码。

〜窗口标志〜


我不知道Ubuntu中有这么奇怪的错误。因此,您要做的就是编写自己的FullScreen方法:

(我不使用ubuntu。所以我不知道您是否还会遇到错误。)

import sys
from PyQt5.QtGui import QKeySequence
from PyQt5.QtWidgets import QApplication, QLabel, QMainWindow, QShortcut
from PyQt5.QtCore import Qt


# Subclass QMainWindow to customise your application's main window
class MainWindow(QMainWindow):
    isfullscreen = False
    def __init__(self, *args, **kwargs):
        super(MainWindow, self).__init__(*args, **kwargs)

        self.setWindowTitle("Hello fullscreen world")

        self._flags = self.windowFlags()
        self._geometry = ((self.screen().size().width() / 2) - (self.width() / 2),
                          (self.screen().size().height() / 2) - (self.height() / 2), 600, 400)

        self.setGeometry(*self._geometry)

        label = QLabel("Hello fullscreen world")


        # The `Qt` namespace has a lot of attributes to customise
        # widgets. See: http://doc.qt.io/qt-5/qt.html
        label.setAlignment(Qt.AlignCenter)

        # Set the central widget of the Window. Widget will expand
        # to take up all the space in the window by default.
        self.setCentralWidget(label)

        self.shortcut_close_window = QShortcut(QKeySequence('F11'), self)
        self.shortcut_close_window.activated.connect(self.goShowFullScreen)
        self._geometry = self.geometry()

    def goShowFullScreen(self):
        if not self.isfullscreen:
            self.setWindowFlags(Qt.WindowStaysOnTopHint | Qt.FramelessWindowHint)
            self.setGeometry(self.screen().geometry())
            self.show()
            self.isfullscreen = True
        else:
            self.setWindowFlags(self.windowFlags() & ~Qt.WindowStaysOnTopHint)
            self.setWindowFlags(self.windowFlags() & ~Qt.FramelessWindowHint)
            self.setGeometry(self._geometry)
            self.show()
            self.isfullscreen = False


app = QApplication(sys.argv)

window = MainWindow()
window.show()

app.exec_()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在任务栏中更改正在运行的应用程序的图标(非固定图标)

来自分类Dev

启动应用程序时ClickOnce应用程序在任务栏中的图标消失

来自分类Dev

启动应用程序时ClickOnce应用程序在任务栏中的图标消失

来自分类Dev

客户应用程序图标未显示在任务栏中-为什么?

来自分类Dev

如何在任务栏Delphi 2010中更改应用程序图标

来自分类Dev

客户应用程序图标未显示在任务栏中-为什么?

来自分类Dev

从任务栏隐藏应用程序图标

来自分类Dev

为什么应用程序无法在任务栏上显示其任务栏图标?

来自分类Dev

Windows 7中任务栏中缺少正在运行的应用程序和固定的应用程序图标

来自分类Dev

启动后,应用程序未出现在任务栏中,并且位于主应用程序的后面

来自分类Dev

每次我尝试从 Ubuntu 软件应用程序运行新安装的应用程序时,图标在任务栏中闪烁一段时间然后消失

来自分类Dev

使任务栏中的Windows应用打开该实例的另一个图标

来自分类Dev

如何隐藏PyQt4 Python应用程序的任务栏图标?

来自分类Dev

如何使Qt应用程序不显示在任务栏中(X11)

来自分类Dev

XFCE:从任务栏隐藏应用程序

来自分类Dev

如何从Windows任务栏隐藏应用程序?

来自分类Dev

如何在Ubuntu中为应用程序重新启用任务栏图标?

来自分类Dev

如何在Ubuntu中为应用程序重新启用任务栏图标?

来自分类Dev

在任务栏上显示隐藏的图标

来自分类Dev

我们可以从Windows Store应用程序在任务栏的通知区域添加应用程序图标吗?

来自分类Dev

如何在全屏模式下隐藏任务栏 JavaFx

来自分类Dev

使我的wpf应用程序全屏显示(覆盖任务栏和窗口标题栏)

来自分类Dev

Windows 10:将多个应用程序窗口设置为不在任务栏中合并

来自分类Dev

如何在任务栏中仅显示活动桌面的应用程序?(Lubuntu 18.10)

来自分类Dev

检查在任务栏中单击的当前应用程序?(C++,Windows API)

来自分类Dev

在任务栏中完全隐藏溢出(隐藏)的项目

来自分类Dev

如何在Windows启动时自动运行Windows窗体应用程序?并将其最小化到任务栏后,从任务栏中删除其图标?

来自分类Dev

用户单击任务栏上运行的应用程序图标时会发生什么事件?

来自分类Dev

当应用程序实例正在运行时,某些任务栏固定图标会重复

Related 相关文章

  1. 1

    在任务栏中更改正在运行的应用程序的图标(非固定图标)

  2. 2

    启动应用程序时ClickOnce应用程序在任务栏中的图标消失

  3. 3

    启动应用程序时ClickOnce应用程序在任务栏中的图标消失

  4. 4

    客户应用程序图标未显示在任务栏中-为什么?

  5. 5

    如何在任务栏Delphi 2010中更改应用程序图标

  6. 6

    客户应用程序图标未显示在任务栏中-为什么?

  7. 7

    从任务栏隐藏应用程序图标

  8. 8

    为什么应用程序无法在任务栏上显示其任务栏图标?

  9. 9

    Windows 7中任务栏中缺少正在运行的应用程序和固定的应用程序图标

  10. 10

    启动后,应用程序未出现在任务栏中,并且位于主应用程序的后面

  11. 11

    每次我尝试从 Ubuntu 软件应用程序运行新安装的应用程序时,图标在任务栏中闪烁一段时间然后消失

  12. 12

    使任务栏中的Windows应用打开该实例的另一个图标

  13. 13

    如何隐藏PyQt4 Python应用程序的任务栏图标?

  14. 14

    如何使Qt应用程序不显示在任务栏中(X11)

  15. 15

    XFCE:从任务栏隐藏应用程序

  16. 16

    如何从Windows任务栏隐藏应用程序?

  17. 17

    如何在Ubuntu中为应用程序重新启用任务栏图标?

  18. 18

    如何在Ubuntu中为应用程序重新启用任务栏图标?

  19. 19

    在任务栏上显示隐藏的图标

  20. 20

    我们可以从Windows Store应用程序在任务栏的通知区域添加应用程序图标吗?

  21. 21

    如何在全屏模式下隐藏任务栏 JavaFx

  22. 22

    使我的wpf应用程序全屏显示(覆盖任务栏和窗口标题栏)

  23. 23

    Windows 10:将多个应用程序窗口设置为不在任务栏中合并

  24. 24

    如何在任务栏中仅显示活动桌面的应用程序?(Lubuntu 18.10)

  25. 25

    检查在任务栏中单击的当前应用程序?(C++,Windows API)

  26. 26

    在任务栏中完全隐藏溢出(隐藏)的项目

  27. 27

    如何在Windows启动时自动运行Windows窗体应用程序?并将其最小化到任务栏后,从任务栏中删除其图标?

  28. 28

    用户单击任务栏上运行的应用程序图标时会发生什么事件?

  29. 29

    当应用程序实例正在运行时,某些任务栏固定图标会重复

热门标签

归档