Last Updated on 2021-06-07 by Clay
我之前一直在試著寫一個自己的簡易桌面時鐘,也拜此所賜,我學習到了不少關於 PyQt5 這個使用 Python 撰寫界面框架的知識。
今天要紀錄來分享的 (其實我是怕自己忘記),是關於『寫好的程式在執行的時候不要在桌面側邊欄留下圖示 (Icon) 』這項設定。其實這個設定我找了很久,時不時地就會 Google 一下,但可惜一直都沒能找到。 (這其實代表了我的搜尋能力之差 XDDD)
就在今天,我突然間找到了答案!而且簡單到我覺得自己像個白痴 XDDD
廢話不多說,以下就在下面簡單地紀錄吧!
隱藏桌面圖示的方法
在開始之前,我要再次使用程式直接 Demo 我的問題。一來我怕看到這篇筆記的人不了解我在做什麼、二來我怕我自己隔了幾週就搞不懂我自己在做什麼 XDDD
# -*- coding: utf-8 -*- import sys from PyQt5.QtWidgets import * class MainWindow(QWidget): def __init__(self): super(MainWindow, self).__init__() self.resize(500, 500) self.setWindowTitle('test') if __name__ == '__main__': app = QApplication([]) window = MainWindow() window.show() sys.exit(app.exec_())
Output:
綠色框起來的部份便是我使用 PyQt5 撰寫的『界面』、而紅色框起來的部份則是我桌面側邊欄的『圖示』(Icon)。而我希望做到的便是我程式的界面照樣執行、但是桌面的圖示卻是隱藏著的。
簡單來講,就像個背景執行的小工具一般。
那要做到這件事情,其實非常簡單。
# -*- coding: utf-8 -*- import sys from PyQt5.QtWidgets import * from PyQt5.QtCore import Qt class MainWindow(QWidget): def __init__(self): super(MainWindow, self).__init__() self.resize(500, 500) self.setWindowTitle('test') self.setWindowFlags(Qt.Tool) if __name__ == '__main__': app = QApplication([]) window = MainWindow() window.show() sys.exit(app.exec_())
沒錯!那就是匯入 Qt 這個函式,並使用
self.setWindowFlags(Qt.Tool)
這行程式碼設定即可。顯示的效果如下:
可以看到綠色的程式界面仍然存在、但是紅色框起來的部份(本來存在圖示 Icon 的地方)卻空空如也。
大成功!這就是我找了很久的設定!
References
(我就是在上方這個 stackoverflow 找到了)
你好!想請問一下,我本身有在寫一些python的文章,發覺你寫的Python都很不錯!是否引用你的文章連結放置在我的文章內呢?
你好!很高興認識你。
引用當然沒有問題啊,是我的榮幸。