Pyexplorer / PySide
J'ai suivi une bonne partie de la formation sur le Framework PySide. Très instructive et bien faite. Je me suis attardé sur le projet PyExplorer. Si on ne devait pas faire avec fbs, comme faire pour accéder tout de même à la feuille de style style.css et aux icons. J'ai bien compris qu'il fallait respecter une certaine hierachie des ficihiers et l'orthographe dans les noms de fichiers mais je pense que la methode get_resource(...) est dépendante de fbs, non ? merci pour ton aide
Salut Alain,
Effectivement, get_resource est dépendant de fbs, mais ce n'est pas très difficile de le refaire à la main.
Tu peux utiliser le module os et la variable __file__ qui représente le chemin complet vers le script exécuté :
import sys
import os
from PySide6.QtWidgets import QApplication, QMainWindow
from PySide6.QtGui import QIcon
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
css_path = os.path.join(os.path.dirname(__file__), 'resources', 'styles', 'style.css')
with open(css_path, 'r') as f:
style = f.read()
self.setStyleSheet(style)
icon_path = os.path.join(os.path.dirname(__file__), 'resources', 'icons', 'icon.png')
self.setWindowIcon(QIcon(icon_path))
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec())
Tu pourrais pour un code un peu plus moderne faire la même chose avec le module pathlib.
Et après il suffit donc de mettre tes fichiers de ressources à l'intérieur de ton application (dans un sous-dossier resources par exemple) pour pouvoir "packager" tout ça. Si tu utilises pyinstaller tu as des options pour indiquer des chemins supplémentaires à bien prendre en compte et mettre avec ton exécutable. Il faudra donc veiller à indiquer le dossier contenant les resources car il ne sera pas pris avec par défaut.
Inscris-toi
(c'est gratuit !)
Tu dois créer un compte pour participer aux discussions.
Créer un compte