Erstellen Sie mit PygObject - Teil 3 Ihre eigenen Anwendungen Webbrowser und Desktop Recorder
- 3067
- 518
- Henry Liebold
Dies ist das 3 Teil der Serie zum Erstellen von GUI -Anwendungen unter dem Linux -Desktop mit PygObject. Heute werden wir über die Verwendung einiger fortschrittlicher Python -Module und -bibliotheken in unseren Programmen wie "Like" sprechenBetriebssystem',' 'Webkit',' 'Anfragen'Und andere, neben einigen anderen nützlichen Informationen zum Programmieren.
Erstellen Sie einen eigenen Webbrowser und Rekorder - Teil 3Anforderungen
Sie müssen all diese früheren Teile der Serie von hier aus durchlaufen, um weitere Anweisungen zum Erstellen von weiteren Voranwendungen fortzusetzen:
- Erstellen Sie GUI -Anwendungen unter Linux -Desktop mit PyGObject - Teil 1
- Erstellen von Advance PygObject -Anwendungen unter Linux - Teil 2
Module und Bibliotheken in Python sind sehr nützlich, anstatt viele Unterprogramme zu schreiben, um einige komplizierte Jobs zu erledigen, die viel Zeit und Arbeit in Anspruch nehmen, können Sie sie einfach importieren ! Ja, importieren Sie einfach die Module und Bibliotheken, die Sie für Ihr Programm benötigen, und Sie können viel Zeit und Mühe sparen, um Ihr Programm abzuschließen.
Es gibt viele berühmte Module für Python, die Sie im Python Modul Index finden können.
Sie können Bibliotheken auch für Ihr Python -Programm von “importieren“gi.Repository -Import GTKDiese Zeile importiert die GTK -Bibliothek in das Python -Programm. Es gibt viele andere Bibliotheken wie GDK, Webkit usw.
Erstellen von Voranträgen für Vorab -GUI -Anwendungen
Heute erstellen wir 2 Programme:
- Ein einfacher Webbrowser; die die Webkit -Bibliothek verwenden.
- Ein Desktop -Rekorder, der den Befehl 'avconv' verwendet; die das "Betriebssystem" -Modul von Python verwenden.
Ich werde nicht erklären, wie man Widgets in die ziehen und fallen lassen Lichtung Designer von nun an werde ich Ihnen nur den Namen der Widgets erzählen, die Sie erstellen müssen, außerdem werde ich Ihnen die geben .Lichtung Datei für jedes Programm und die Python -Datei mit Sicherheit.
Erstellen eines einfachen Webbrowsers
Um einen Webbrowser zu erstellen, müssen wir das verwendenWebkitMotor, eine Open-Source-Rendering-Engine für das Web, es ist derselbe, der in verwendet wird Chrom/Chrom, Weitere Informationen dazu finden Sie im offiziellen Webkit.Org -Website.
Zuerst müssen wir die GUI erstellen, die öffnen, die Lichtung Designer und fügen Sie die folgenden Widgets hinzu. Für weitere Informationen zum Erstellen von Widgets folgen Sie dem Teil 1 Und Teil 2 dieser Serie (oben angegeben).
- Erstellen Sie 'Window1' Widget.
- Erstellen Sie 'Box1' und 'Box2' Widget.
- Erstellen Sie 'Button1' und 'Button2' Widget.
- Erstellen Sie 'Eintrag1' Widget.
- Erstellen Sie 'ScrolledWindow1' Widget.
Nach dem Erstellen von Widgets erhalten Sie die folgende Schnittstelle.
Glade -SchnittstelleEs gibt nichts Neues, außer der “Scrollte FensterWidget; Dieses Widget ist wichtig, um das zuzulassen Webkit Motor, die darin implantiert werden sollen, mit dem “Scrollte FensterWidget können Sie auch horizontal und vertikal scrollen, während Sie auf den Websites durchsuchen.
Sie müssen jetzt hinzufügen “Backbutton_clicked”Handler zum Zurück Taste "geklickt"Signal"Refreshbutton_clicked"Handler zum Aktualisierungsknopf"angeklicktes Signal" Und "Enterkey_Clicked"Handler des"aktiviert”Signal für den Eintrag.
Das Ganze .Lichtung Die Datei für die Schnittstelle ist hier.
Falsch unser einfaches Browser-Zentrum 1000 600 Anwendungen-Internet True Falsch vertikaler wahrer Falsch gtk-go-back wahr wahr wahre halbe wahre wahre falsche wahre 0 gtk-aktualisieren wahr wahr wahre halbe wahre wahre falsche wahre wahre wahr wahr wahr wahre 2 false wahre 0 wahre wahre in wahr wahr wahr 1
Kopieren Sie nun den oben genannten Code und fügen Sie ihn in die “einui.LichtungDatei in Ihrem Home -Ordner. Erstellen Sie nun eine neue Datei namens “MyWebbrowser.pyUnd geben Sie den folgenden Code darin ein, alle Erläuterungen sind in den Kommentaren.
#!/usr/bin/python #-*-Codierung: UTF-8-*-## Hier haben wir sowohl die GTK-Bibliothek als auch die Webkit-Engine importiert. von gi.Repository importieren GTK, Webkit -Klasse Handler: Def Backbutton_clicked (Selbst, Schaltfläche): ## Wenn der Benutzer auf die Back -Button klickt, die '.Go_back () '' Methode wird aktiviert, wodurch der Benutzer automatisch an die vorherige Seite gesendet wird. Diese Methode ist Teil der Webkit -Engine. Browserin.go_back () def refreshbutton_clicked (self, button): ## Gleiches hier, das ''.reload () 'Methode wird aktiviert, wenn die Schaltfläche "Aktualisieren" klickt. Browserin.reload () def Enterkey_Clicked (Selbst, Schaltfläche): ## zum automatischen Laden der URL, wenn die Taste "Eingabetaste" von der Tastatur getroffen wird, während wir uns auf das Eingabegleiter konzentrieren, müssen wir die 'verwenden.load_uri () 'Methode und greifen Sie die URL aus dem Eingabefeld. Browserin.load_uri (urlentry.get_text ()) ## nichts Neues hier… wir haben gerade die 'UI importiert.Glade -Datei. Builder = gtk.Builder () Builder.add_from_file ("ui.Glade ") Erbauer.Connect_signals (Handler ()) Fenster = Builder.get_object ("window1") ## Hier ist das neue Teil… Wir haben ein globales Objekt namens 'Browserhalter' erstellt, das die Webkit -Rendering -Engine enthält, und wir setzen es auf 'Webkit.WebView () 'Was ist die Standardsache, wenn Sie Ihrem Programm eine Webkit -Engine hinzufügen möchten. Browserhalter = webkit.WebView () ##, um die Bearbeitung der Webseite nicht zu verhindern. Browserin.set_edable (false) ## Die zu geladene Standard -URL, wir haben die Methode 'load_uri ()' verwendet. Browserin.load_uri ("https: // tecmint.com ") urlentry = Builder.Get_Object ("Eintrag1") Urlentry.set_text ("https: // tecmint.com ") ## Hier haben wir das ScrolledWindow1 -Objekt aus der Benutzeroberfläche importiert.Gladedatei. scrolled_window = builder.get_object ("ScrolledWindow1") ## Wir haben das 'verwendet'.add () 'Methode zum Hinzufügen des Objekts "Browserhalter" zum Scrolled -Fenster, das unseren Webkit -Browser enthält. Scrolled_window.add (Browserhalter) ## und schließlich haben wir das Objekt "Browserhalter" mit dem 'angezeigt.show () 'Methode. Browserin.Show () ## Geben Sie diesem Entwickler einen Cookie ! Fenster.Connect ("Delete-Event", GTK.Main_quit) Fenster.show_all () gtk.hauptsächlich()
Speichern Sie die Datei und führen Sie sie aus.
$ chmod 755 MyWebbrowser.py $ ./MyWebbrowser.py
Und das werden Sie bekommen.
Erstellen Sie einen eigenen WebbrowserSie können sich auf die verweisen Webkitgtk Offizielle Dokumentation, um weitere Optionen zu finden.
Erstellen eines einfachen Desktop -Recorders
In diesem Abschnitt lernen wir, wie Sie lokale Systembefehle oder Shell -Skripte aus der Python -Datei mithilfe der 'ausführenBetriebssystem'Modul, mit dem wir einen einfachen Bildschirmrekorder für den Desktop erstellen können, indem wir mit dem'Avconv' Befehl.
Öffnen Sie den Glade -Designer und erstellen Sie die folgenden Widgets:
- Erstellen Sie 'Window1' Widget.
- Erstellen Sie 'Box1' Widget.
- Erstellen Sie 'Button1', 'Button2' und 'Button3' Widgets.
- Erstellen Sie 'Eintrag1' Widget.
Nachdem Sie oben diese Widgets erstellt haben, erhalten Sie unter der Schnittstelle.
Glade UI -SchnittstelleHier ist der komplette ui.Lichtung Datei.
Falsch unser einfaches Recorder Center 300 30 Anwendungen-Multimedia True False Falsch wahr wahres Falsch Wahrung 0 gtk-media-record wahr wahr wahr wahr wahr wahr wahr wahr wahr 1 gtk-media-stop wahr wahr wahr wahr wahr wahr wahr wahr 2 gtk-media-play wahr wahr wahr wahr wahr wahr Wahr wahr wahr wahr wahre wahr 3
Kopieren Sie wie üblich den oben genannten Code und fügen Sie ihn in die Datei ein “ui.Lichtung"Erstellen Sie in Ihrem Heimverzeichnis ein neues"MyRecorder.pyDatei und geben Sie den folgenden Code darin ein (jede neue Zeile wird in den Kommentaren erläutert).
#!/usr/bin/python #-*-Codierung: UTF-8-*-## Hier haben wir sowohl die GTK-Bibliothek als auch das Betriebssystemmodul importiert. von gi.Repository importieren GTK -OS -Klasse Handler: DEF RecordButton (Self, Button): ## Wir haben eine Variable definiert: 'filepatHandname', wir haben die bash lokale Variable '$ home' zugewiesen. + " + den Dateinamen aus dem Text Eingabefeld. filepatHandname = os.Environ ["Home"] + "/" + Eintrag.get_text () ## Hier exportierte die Variable "filepatHandName" von Python in die Variable "Dateiname" in der Shell. Betriebssystem.Environ ["Dateiname"] = filepatHandname ## mit 'Betriebssystem mit' OS.System (Befehl) 'Wir können ein jeden Shell -Befehl oder das Shell -Skript ausführen. Hier haben wir den Befehl' avconv 'ausgeführt, um das Desktop -Video und das Audio aufzuzeichnen. Betriebssystem.System ("avconv -f x11grab -r 25 -s 'xDpyInfo | Grep' Dimensionen: '| awk' print $ 2" -i: 0.0 -VCODEC LIBX264 -Threads 4 $ Dateiname -y & ") Def Stopbutton (Selbst, Schaltfläche): ## Ausführen des Befehls 'Killall avconv', wenn die Schaltfläche Stopp angeklickt wird. Betriebssystem.System ("Killall avconv") def PlayButton (Selbst, Schaltfläche): ## Ausführen des Befehls 'avPlay' in der Shell, um die aufgezeichnete Datei beim Klicken auf die Wiedergabetaste abzuspielen. Betriebssystem.System ("AvPlay $ Dateiname &") ## Nichts Neues hier ... Wir haben gerade die 'UI importiert.Glade -Datei. Builder = gtk.Builder () Builder.add_from_file ("ui.Glade ") Erbauer.Connect_signals (Handler ()) Fenster = Builder.get_object ("window1") Eintrag = Builder.Get_Object ("Eintrag1") Eintrag.set_text ("myrecording-file.avi ") ## Gib diesem Entwickler einen Keks ! Fenster.Connect ("Delete-Event", GTK.Main_quit) Fenster.show_all () gtk.hauptsächlich()
Führen Sie nun die Datei aus, indem Sie die folgenden Befehle im Terminal anwenden.
$ chmod 755 myRecorder.py $ ./MyRecorder.py
Und Sie haben Ihren ersten Desktop -Rekorder erhalten.
Erstellen Sie Desktop -RekorderWeitere Informationen zum '' finden Sie weiterBetriebssystem'Modul in der Python OS -Bibliothek.
Und das ist es, Anwendungen für den Linux -Desktop zu erstellen, wird nicht schwer verwendet Pygobjekt, Sie müssen nur die GUI erstellen, einige Module importieren und die Python -Datei mit der GUI verknüpfen, nichts mehr, nichts weniger. Es gibt viele nützliche Tutorials dazu auf der Pygobject -Website:
Haben Sie versucht, Anwendungen mithilfe von Pygobject zu erstellen? Was denkst du darüber?? Welche Anwendungen haben Sie schon einmal entwickelt??
- « 11 'avconv' Befehle zum Aufzeichnen, Konvertieren und Extrahieren von Videos und Audios von Linux Terminal
- So installieren und konfigurieren Sie Cache nur DNS -Server mit ungebunden in RHEL/Centos 7 »