Skip to content

Python3 - PyQt5 QIcon

Python3
  • Ich habe für mein Projekt, die Icons in einem Ordner abgelegt und von dort benutzt. Viel Aufwand, weil man die erst suchen muss, in den Ordner kopieren usw.

    Gestern beim Dokumentation lesen bin ich mal wieder über was gestolpert, was ich testen musste 😉

    Alt

    #----JSON Menu ----#
            loadJSON = QAction(QIcon.('icons/reload.svg'), 'Load File', self)
            loadJSON.triggered.connect(BackupList.load_json)
            loadJSON.setShortcut('Ctrl+L')
            fileMenu.addAction(loadJSON)
    

    Neu

    #----JSON Menu ----#
            loadJSON = QAction(QIcon.fromTheme('reload'), 'Load File', self)
            loadJSON.triggered.connect(BackupList.load_json)
            loadJSON.setShortcut('Ctrl+L')
            fileMenu.addAction(loadJSON)
    

    Damit lädt das Programm die Icons des gewählten Themes des Betriebssystemes. Bei mir ist das aktuell

    7e021618-77af-4da9-9d2d-470b4f546e59-image.png

    und sieht so aus

    fd84fdb6-d928-4f99-998d-fccb00536657-image.png

    Wenn man jetzt das Theme wechselt, merkt man das viele Icons nicht vorhanden sind 😞 Ok, mal weiterlesen, wie man das löst...

    Es gibt eine Liste mit alle Icon Bezeichnungen -> https://specifications.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html

    Und unter LinuxMint Cinnamon findet man die Icons unter z.B. /usr/share/icons/Mint-Y/actions/16

  • Die Suchpfade findet man hiermit

    print(QIcon.themeSearchPaths())
    

    Ausgabe

    ['/home/frank/.icons', '/usr/share/cinnamon/icons', '/var/lib/flatpak/exports/share/icons', '/usr/share/icons', ':/icons']
    

  • Python3 - PyQt6 installieren

    Python3
    1
    0 Stimmen
    1 Beiträge
    338 Aufrufe
    Niemand hat geantwortet
  • Python3 - HTML Text ausgeben

    Python3
    1
    0 Stimmen
    1 Beiträge
    135 Aufrufe
    Niemand hat geantwortet
  • Python3 - Global variable 'widget' undefined at the module level

    Python3
    3
    0 Stimmen
    3 Beiträge
    352 Aufrufe
    FrankMF

    Kein globalen Variablen mehr im Projekt 🙂

    Das Widget ließ sich relativ einfach erledigen.

    Vorher #----QPlainTextEdit ----# layout = QVBoxLayout() widget = QTextEdit() widget.setReadOnly(True) widget.setLayout(layout) setCentralWidget(widget) Nachher #----QPlainTextEdit ----# layout = QVBoxLayout() self.widget = QTextEdit() self.widget.setReadOnly(True) self.widget.setLayout(layout) self.setCentralWidget(self.widget)

    Aufruf dann nicht mehr mit

    # UI widget.setHtml("")

    sondern mit

    # UI mainWin.widget.setHtml("")

    Problem erledeigt und hoffentlich auch verstanden 😉

  • Python3 - class BackupList

    Python3
    2
    0 Stimmen
    2 Beiträge
    229 Aufrufe
    FrankMF

    Mir hat heute jemand auf Twitter zu meinem Problem geantwortet.

    Das habe ich natürlich direkt, bei einer Tasse Kaffee, ausprobiert. Geht einwandfrei und ein Problem ist damit Vergangenheit. Bei meiner Konstruktion musste ich immer eine Länge für die Liste p vorgeben.

    p = list(range(10))

    Das wird jetzt nicht mehr benötigt. Schön 🙂

    Jetzt muss ich mir das noch in Ruhe anschauen, nachlesen und verstehen.

    Danke für den netten Hinweis!

  • Python3 - PyQt5 Layout

    Python3
    1
    0 Stimmen
    1 Beiträge
    155 Aufrufe
    Niemand hat geantwortet
  • Python3 - JSON

    Python3
    3
    0 Stimmen
    3 Beiträge
    199 Aufrufe
    FrankMF

    ede1a88a-5183-4f85-a602-27650362d532-grafik.png

    Die Backups sollen Namen haben, also habe ich das erweitert. Jetzt sollen diese als Liste rechts angezeigt werden. Das mache ich wie folgt.

    for key in backups: print(backups[key]['name'], key) liste = backups[key]['name'] + " ID: " + key self.listWidget.addItem(liste)

    Mittels des Keys kann ich auf den Namen zugreifen und die Liste damit füllen. Aktuell habe ich noch den Key hinten angefügt, weil ich noch keine Idee habe, wie ich die Backups anders verarbeiten soll. Aber, Stück für Stück. Der Backup-Name wird nach Auswahl in der Statusbar angezeigt. So weit klappt das so wie ich mir das vorstelle. Für heute ist Feierabend 😇

  • Wireguard UI - mein erstes Python3 Projekt

    Python3
    2
    0 Stimmen
    2 Beiträge
    225 Aufrufe
    FrankMF

    Dinge entwickeln sich. Es sieht alles schon wieder was anders aus 🙂

    Hauptfenster
    270b5c68-3d64-44ca-9a01-e3f24ba4a26c-grafik.png

    Setup Fenster zum Erstellen der wg0.conf
    27c3cb28-50f5-4e00-b03d-de47c07372a0-grafik.png

    Und alles funktioniert so weit 🤓

  • Python und GUI

    Verschoben Python3
    1
    0 Stimmen
    1 Beiträge
    160 Aufrufe
    Niemand hat geantwortet