Python 脚本不能在 Ubuntu 上运行

标签 python windows ubuntu pyqt5

我在我的 Windows PC 上编写了一个 Python 3 脚本,并希望在我的 Ubuntu PC 上也有它。此脚本创建一个启用了 Clickthrough 的 PyQt5 无边框窗口。除了包含单个图像的标签(标记为 GreenRGB.png)之外,该窗口应该是透明的。但是,PyQt5 窗口没有出现。为什么,如果你愿意,我该如何解决这个问题?
我的代码

import sys

from PyQt5 import QtWidgets, QtCore
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QPixmap, QIcon
from PyQt5.QtWidgets import *


class Window(QMainWindow):
    def __init__(self):
        super().__init__()

        self.acceptDrops()
        # set the title
        self.setWindowTitle("RGB Corners")

        # creating label
        self.label = QLabel(self)

        # loading image
        self.pixmap = QPixmap('greenRGB.png')

        # adding image to label
        self.label.setPixmap(self.pixmap)

        # Optional, resize label to image size
        self.label.resize(self.pixmap.width(), self.pixmap.height())
        self.label.setAlignment(QtCore.Qt.AlignCenter)
        self.setWindowFlags(QtCore.Qt.Tool)
        self.setAttribute(Qt.WA_TranslucentBackground)
        self.setAttribute(Qt.WA_TransparentForMouseEvents, True)
        self.setAttribute(Qt.WA_NoChildEventsForParent, True)
        self.setWindowFlags(Qt.Window|Qt.X11BypassWindowManagerHint|Qt.WindowStaysOnTopHint|Qt.FramelessWindowHint|QtCore.Qt.Tool)

        # show all the widgets
        self.show()
        self.showMaximized()


App = QApplication(sys.argv)
window = Window()
windows = QtWidgets.QWidget()

trayIcon = QSystemTrayIcon(QIcon('test.png'), parent=App)
trayIcon.setToolTip('RGB Corners')
trayIcon.show()
trayMenu = QMenu()
exitAction = trayMenu.addAction('Exit')
exitAction.triggered.connect(App.quit)
trayIcon.setContextMenu(trayMenu)

sys.exit(App.exec())
PyQt5.12.8 是我安装的版本。经过进一步检查,窗口被创建,并且明显地显示出来。 PyCharm 中没有错误,程序不会崩溃。我想 Ubuntu 无法正确绘制这些。我安装的主题没有问题,默认为Yaru主题有同样的问题。经过进一步检查,导致它不显示的行是:self.setWindowFlags(QtCore.Qt.Tool) .

最佳答案

我为你所有的麻烦感到抱歉。该错误位于 self.setWindowFlags(QtCore.Qt.Tool) 行中。我不知道为什么这会破坏它,但我评论了它(将删除它)并且它得到了修复。但是,这样做后,标签将无法正确调整大小,并且总是太小。我想这是另一个问题。

关于Python 脚本不能在 Ubuntu 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69452624/

相关文章:

python - 使用 ElementTree 解析任意 XML 文件

python - Python 中的多重继承调用父方法给出令人困惑的输出

windows - Windows 批处理文件中的日期解析

c - 队列弹出一些垃圾值

apache - 使用 SSL 的 Apache2 上的 Gitlab

ubuntu - 加载工具时查尔斯代理卡住

python - 尝试在 ubuntu 14.04 上为 python 2.7 安装大多数 voip api 会出现几个未知的 gnu linux 错误

python - 根据条件从两个数据帧中提取值

python - 使用 json 渲染器将记住 header 添加到 json 响应

python - 如何在 Windows 上安装 gnu gettext (>0.15)?所以我可以在 Django 中生成 .po/.mo 文件