Skip to content

Python3 - pyqtSignal

Python3
  • Ich habe in meinem Restic UI ein Main Window und ein Settings Window. Vom Main Window was an den Zusatz Fenstern zu ändern ist nicht das Problem, das kann man ganz einfach manipulieren.

    Zum Beispiel so

     self.show_edit_window(self)
     self.w3.input_backup_name.setText(backup_data[row].name)
    

    Jetzt brauchte ich aber für eine Funktion, die Möglichkeit von diesem Settings Windwo aus, ein Element in meinem Main Window zu manipulieren. Das hat aber nicht so geklappt, wie ich mir das vorgestellt hatte. Also im deutschen Python Forum mal nach Hilfe gefragt. Ich bekam dann ein paar Hinweise, womit ich dann wusste, wonach ich suchen musste. Ich fand diesen Beitrag auf www.stackoverflow.com

    Den Beitrag intensiv gelesen und versucht das ganze zu verstehen. Danach habe ich das in meinen Code eingebaut. Ich präsentiere hier nur die wichtigsten Codezeilen.

    Settings Window, das Objekt des Signals festlegen

    class SettingsWindow(QWidget):
    
        got_signal = pyqtSignal(str)
    

    Bei der gewünschten Aktion, das Signal auslösen

    self.got_signal.emit("SIGNAL")
    

    Main Window

    Man legt hier die Verbindung zu dem Signal fest und definiert, welche Funktion dann ausgelöst werden soll.

    if __name__ == "__main__":
    
        app = QApplication(sys.argv)
        mainWin = MainWindow()
        mainWin.show()
        w2 = SettingsWindow()
        w2.got_signal.connect(mainWin.show_it)
        app.exec()
    

    Die Funktion

    def show_it(self, the_signal):
        print(the_signal)
    

    Und hier das Ergebnis, somit sieht man was ich damit machen wollte.

  • Restic - Migrate

    Restic
    1
    0 Stimmen
    1 Beiträge
    157 Aufrufe
    Niemand hat geantwortet
  • Python - mehrsprachiges GUI

    Python3
    1
    0 Stimmen
    1 Beiträge
    119 Aufrufe
    Niemand hat geantwortet
  • Python3 - Struktur eines Projektes

    Python3
    1
    0 Stimmen
    1 Beiträge
    109 Aufrufe
    Niemand hat geantwortet
  • 0 Stimmen
    2 Beiträge
    183 Aufrufe
    FrankMF

    Die REST Unterstützung ist komplett 🤓

    Link Preview Image Not Found

    favicon

    (gitlab.com)

    Ich denke, ein wenig Dokumentation wäre noch gut ☺

  • Python3 - QT_QPA_PLATFORM

    Python3
    2
    0 Stimmen
    2 Beiträge
    284 Aufrufe
    FrankMF

    Nachdem ich ja mittlerweile schon lange weder auf Cinnamon bin, hatte ich nach einem Update von VSCodium wieder ein anderes Design. Ok, schauen wir rein.

    (venv) frank@frank-MS-7C37:~/restic-ui-public$ env | grep "QT" QT_ACCESSIBILITY=1 QT_QPA_PLATFORMTHEME=qt5ct

    Wenn ich das auf

    QT_QPA_PLATFORMTHEME=gnome3

    ändere, sieht es wie auf meinem Linux Mint Cinnamon Desktop aus.

  • Python3 - String-Operatoren

    Python3
    1
    0 Stimmen
    1 Beiträge
    134 Aufrufe
    Niemand hat geantwortet
  • Python3 - virtuelle Entwicklungsumgebung

    Angeheftet Python3
    3
    0 Stimmen
    3 Beiträge
    301 Aufrufe
    FrankMF

    Nach Systemwechsel erneut Probleme. Hier noch mal aufgelistet.

    Aufpassen, das kein venv Ordner vorhanden ist! Neu anlegen!

    python3 -m venv venv

    Dann meckert mein Linux Mint Cinnamon

    The virtual environment was not created successfully because ensurepip is not available. On Debian/Ubuntu systems, you need to install the python3-venv package using the following command. apt install python3.8-venv You may need to use sudo with that command. After installing the python3-venv package, recreate your virtual environment. Failing command: ['/home/frank/Restic_UI_Produktiv/restic-ui-public/venv/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']

    Ok, das ist einfach 😉

    apt install python3.8-venv python3 -m venv venv

    Danach aktivieren

    source venv/bin/activate Installation von PyQt5 (venv) frank@frank-MS-7C37:~/Restic_UI_Produktiv/restic-ui-public$ pip3 install PyQt5 Collecting PyQt5 Downloading PyQt5-5.15.4-cp36.cp37.cp38.cp39-abi3-manylinux2014_x86_64.whl (8.3 MB) |████████████████████████████████| 8.3 MB 1.7 MB/s Collecting PyQt5-Qt5>=5.15 Downloading PyQt5_Qt5-5.15.2-py3-none-manylinux2014_x86_64.whl (59.9 MB) |████████████████████████████████| 59.9 MB 18.3 MB/s Collecting PyQt5-sip<13,>=12.8 Downloading PyQt5_sip-12.9.0-cp38-cp38-manylinux1_x86_64.whl (332 kB) |████████████████████████████████| 332 kB 46.1 MB/s Installing collected packages: PyQt5-Qt5, PyQt5-sip, PyQt5 Successfully installed PyQt5-5.15.4 PyQt5-Qt5-5.15.2 PyQt5-sip-12.9.0

    Danach meckert er über ein fehlendes Modul requests

    (venv) frank@frank-MS-7C37:~/Restic_UI_Produktiv/restic-ui-public$ python3 restic_ui.py Traceback (most recent call last): File "restic_ui.py", line 41, in <module> from functions import ( File "/home/frank/Restic_UI_Produktiv/restic-ui-public/functions.py", line 19, in <module> import requests as req ModuleNotFoundError: No module named 'requests' Installation requests (venv) frank@frank-MS-7C37:~/Restic_UI_Produktiv/restic-ui-public$ pip3 install requests Collecting requests Downloading requests-2.25.1-py2.py3-none-any.whl (61 kB) |████████████████████████████████| 61 kB 802 kB/s Collecting chardet<5,>=3.0.2 Downloading chardet-4.0.0-py2.py3-none-any.whl (178 kB) |████████████████████████████████| 178 kB 2.7 MB/s Collecting certifi>=2017.4.17 Downloading certifi-2021.5.30-py2.py3-none-any.whl (145 kB) |████████████████████████████████| 145 kB 14.0 MB/s Collecting idna<3,>=2.5 Downloading idna-2.10-py2.py3-none-any.whl (58 kB) |████████████████████████████████| 58 kB 9.4 MB/s Collecting urllib3<1.27,>=1.21.1 Downloading urllib3-1.26.6-py2.py3-none-any.whl (138 kB) |████████████████████████████████| 138 kB 11.5 MB/s Installing collected packages: chardet, certifi, idna, urllib3, requests Successfully installed certifi-2021.5.30 chardet-4.0.0 idna-2.10 requests-2.25.1 urllib3-1.26.6

    Und schwupps, geht mein Tool wieder 🙂

    4968ce42-7c66-4c8a-a2ad-424b9a529d87-grafik.png

  • Python und GUI

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