Форум сайта python.su
1
привет
я написал все необходимые мне модули для программы
дискортбот
обработка sql
режим возле часов
все по разным модулям разбито
что мне писать в файле главном __init__.py
потому что при импорте выполняется только 1 модуль а остальные весят
import discord_bot import sound_to_text_work import tray if __name__ == '__main__': sound_to_text_work.main() discord_bot.main() tray.icon.run()
Офлайн
1
tray
from PySide2.QtGui import QIcon from PySide2.QtWidgets import QApplication, QSystemTrayIcon, QMenu, QAction app = QApplication([]) app.setQuitOnLastWindowClosed(False) # Create the icon icon = QIcon("images/icon.png") # Create the tray tray = QSystemTrayIcon() tray.setIcon(icon) tray.setVisible(True) # Create the menu menu = QMenu() action = QAction("A menu item") menu.addAction(action) # Add a Quit option to the menu. quit = QAction("Quit") quit.triggered.connect(app.quit) menu.addAction(quit) # Add the menu to the tray tray.setContextMenu(menu) app.exec_()
Офлайн
857
GenaboxДа ничего в них не пишется обычно. Они нужны только для того, чтобы обслуживать пакет (инициализировать что-то в пакете самом, заготавливать имена, делать удобные импорты). Программа у тебя должна выполняться из основного скрипта.
что мне писать в файле главном __init__.py
Отредактировано py.user.next (Янв. 17, 2023 22:17:38)
Офлайн
1
import pystray from PIL import Image import sys import threading import discord_bot import sound_to_text_work from tray import trays def main(): threadICO = threading.Thread(target=trays) threadICO.start() threadVIUCE = threading.Thread(target=sound_to_text_work.main) threadVIUCE.start() if __name__ == '__main__': #sound_to_text_work.main() #discord_bot.main() main()
Офлайн
1
это и есть основной скрипт или его по другому назвать?
>>>
а я понял а как этот скрипт должен называтся?
Отредактировано Genabox (Янв. 17, 2023 22:34:27)
Офлайн
1
from PySide2.QtGui import QIcon from PySide2.QtWidgets import QApplication, QSystemTrayIcon, QMenu, QAction def trays(): app = QApplication([]) app.setQuitOnLastWindowClosed(False) # Create the icon icon = QIcon("images/icon.png") # Create the tray tray = QSystemTrayIcon() tray.setIcon(icon) tray.setVisible(True) # Create the menu menu = QMenu() action = QAction("A menu item") menu.addAction(action) # Add a Quit option to the menu. quit = QAction("Quit") quit.triggered.connect(app.quit) menu.addAction(quit) # Add the menu to the tray tray.setContextMenu(menu) app.exec_()
Отредактировано Genabox (Янв. 17, 2023 22:47:27)
Офлайн
1
даже лучше так
import pystray from PIL import Image import sys #sys.path.insert(2, sys.path[0]+'\\images') image = Image.open("images\icon.png") def trays(): def after_click(icon, query): if str(query) == "GeeksforGeeks Website": print("The Best Place to learn anything Tech \ Related -> https://www.geeksforgeeks.org/") # icon.stop() elif str(query) == "GeeksforGeeks Youtube": print("Youtube Channel of GeeksforGeeks \ is -> https://www.youtube.com/@GeeksforGeeksVideos") # icon.stop() elif str(query) == "GeeksforGeeks LinkedIn": print("LinkedIn of GeeksforGeeks \ is -> https://www.linkedin.com/company/geeksforgeeks/") elif str(query) == "testt": print("test") elif str(query) == "Exit": icon.stop() icon = pystray.Icon("GFG", image, "GeeksforGeeks", menu=pystray.Menu( pystray.MenuItem("GeeksforGeeks Website", after_click), pystray.MenuItem("GeeksforGeeks Youtube", after_click), pystray.MenuItem("GeeksforGeeks Youtube", after_click), pystray.MenuItem("GeeksforGeeks LinkedIn", after_click), pystray.MenuItem("testt", after_click), pystray.MenuItem("Exit", after_click))) icon.run()
Офлайн