Transkripte
1. EINFÜHRUNG: Hallo und willkommen. Mein Name ist Head Units und das
wird während dieses Kurses strukturiert sein. Jetzt werden wir heute über eine
der berühmtesten grafischen Python-Benutzeroberfläche sprechen , als Pi gereinigt wird. Also haben wir jetzt fünf Versionen. Und dies ist der fünfte , den wir in diesem Kurs verwenden werden. Und bevor ich anfange, möchte ich
Ihnen einen kleinen Überblick darüber geben , was Sie von diesem Kurs erwarten
sollten und auf
welche Weise er Ihr Wissen in diesem Bereich verbessern wird. Zunächst einmal beginnen wir mit den grundlegenden Widgets, die wir in Piketty Five haben. Und dann werden wir zu einem erweiterten
Asset übergehen , über das wir
über das QT-Designer-Tool sprechen werden. Und dies ist eine der bekanntesten Touren, bei der
die DAC- und Drop-Technik verwendet werden, um die Anwendungen zu erstellen. Und schließlich werden wir
einige Projekte und Anwendungen erstellen . Was wir vorhin gelernt haben. Beginnend mit den grundlegenden Widgets werden
wir eine Vielzahl von ihnen abdecken,
z. B. Schaltflächen, Layout, Beschriftungen, Zeilen- und Steuerbearbeitung,
Push, Radio und Check Buttons. Und wir haben noch viel mehr, die wir abdecken werden. Und danach gehen wir zu den erweiterten
weiter, z. B. dem Kombinationsfeld, dem
Drehfeld, dem Schieberegler, dem Menü und der Symbolleiste. Und wir haben die Eingabeschrift und fünf Dialoge. Und danach werden wir über
den Tab-Stack-Sputter sprechen und so weiter. Es wird also viele
fortgeschrittene Phasen geben, die wir abdecken werden. Und danach werden wir
über das QT-Designer-Tool sprechen . Wir werden lernen, wie man es herunterlädt. Und dann werden wir alle Hauptfunktionen
durchlaufen alle Hauptfunktionen
durchlaufen , die wir verwenden werden. Es. Danach werden wir wichtigsten grundlegenden und erweiterten Switches verwenden, die wir zuvor
gelernt haben , und lernen, wie man sie in diesem Tool verwendet. Dann lernen wir, wie man Schaltflächen mit anderen Widgets im Hocker mit einer Drag & Drop-Technik verbindet und einfach zwischen den Schaltflächen und Widgets innerhalb der Anwendung verknüpft. Und schließlich werden wir mit diesem Tool
Haul-Anwendungen erstellen . Und da dies gesagt wird, werden
wir zwei Möglichkeiten haben unsere Piketty Five Anwendungen
zu erstellen. Der erste ist mit dem Schreiben des Codes selbst und entschieden, dass
man dieses QT-Designer-Tool verwendet. Und normalerweise, wenn Sie etwas spezifisches möchten, sollten
Sie sich mit der Bewachungstechnik befassen. Jetzt werden wir viele
Projekte haben, an denen wir arbeiten werden, und ich kann sie in diesem Einführungsvideo nicht wirklich hinzufügen. Wir werden einen bestimmten Abschnitt haben. Wir werden alle Projekte sehen , an denen wir arbeiten werden. Und das war's im Grunde genommen, ich hoffe, Ihnen hat
dieser Kurs gefallen und wir sehen uns in den nächsten Videos.
2. Anforderungen: Hallo und willkommen. In diesem Video werden wir also die Anforderungen des Kurses
durchgehen . Das erste, was wir tun werden, ist Python herunterzuladen. Wir gehen zu python.org Slash-Downloads und drücken dann auf Download Python 3, 10. Diese Version ist also möglicherweise nicht der Fall für Sie. Es spielt also keine Rolle, klicken Sie
einfach auf die auf Ihrer Website vorhandene
Version herunter und laden Sie sie herunter. Ich denke, was wir tun werden, ist zu überprüfen, ob Python ein neuer Workspace ist. Was wir tun werden, ist, in CMD zu gehen. Also lass mich einfach in cmd gehen und einfach Python schreiben. Und wie Sie sehen können, werden
wir Python und die Version sehen. Meine Version ist also 3.8.10. Ich werde es jetzt auf 3.10 upgraden. Und die zweite Anforderung besteht
darin , die IDE herunterzuladen, die wir verwenden werden, nämlich Visual Studio Code. Also gehen wir in den visuellen Pseudocode ein. Und wie Sie sehen können, können Sie es für Windows direkt hier
herunterladen. Es wird entweder Windows, Linux oder Mac sein. Dies hängt vom Desktop oder dem Arbeitsbereich ab, an dem arbeitet. Und danach, wenn alles heruntergeladen wird, können
Sie einfach ins Visual Studio gehen, welches dieses ist. Und wie Sie sehen können, haben wir eine Begrüßungsseite. Wir haben ein paar Updates und klicken Sie dann einfach auf die Erweiterungen hier. Wie Sie nach dem Schreiben von Python sehen können, werden
wir sehen, dass dies vorschlägt,
es zu installieren , und wir sind bereit, unseren Kurs zu beginnen. Davon abgesehen ist dies das Ende des Anforderungsvideos. Wir sehen uns im nächsten.
3. PyQt5 Version: Hallo nochmal. In diesem Video werden wir also ein bisschen mehr über
Piketty Five sprechen , bevor wir uns mit dem Programmieren und anderen Dingen beschäftigen. Zunächst einmal ist Piketty Five eine Reihe von Python-Bindungen für das QT Five Application Framework. Wir haben also die QT-Bibliothek, die eine der mächtigsten GUI-Bibliothek ist, die wir gerade haben. Und eigentlich ist dies die offizielle Home-Site für die Puppen Curie Five, die Riverbank computing.com ist. Wie wir sehen können, entwickelten sie von 35 Piketty für und Piketty Physik. Und wie Sie sehen können, können
Sie die gesamte Software
und andere Dinge überprüfen , die sie haben, genau hier. Und Piketty Five ist als eine Reihe von Python-Modulen
implementiert. Es hat mehr als Hunderte von Klassen und Tausende von Funktionen und Methoden. Es kann also unter Windows, Linux
und Mac ausgeführt werden , und es ist tatsächlich einfach zu installieren. Also lasst uns zuerst weitermachen und es installieren. Was wir also tun werden, ist
zu unserer Eingabeaufforderung zu gehen. Und ich gehe zu meinem Desktop. Dafür wurde bereits ein Ordner erstellt, der 555 Apps ist. Und danach werden Sie
einfach die Pip3-Installation von Q-Tip Five schreiben. Jetzt, in meinem Fall, installiere
ich es bereits, also bekomme ich die Anforderungen. Ich bin entschlossen, zufrieden und gebe an, dass Piketty Five auf meinem Desktop verfügbar ist. Und in Ihrem Fall wird es genauso
heruntergeladen, wie wir gerade sprechen. Und danach werden Sie in Visual Studio
gehen, um mit der eigentlichen Codierung zu beginnen. Was wir also zuerst tun werden, ist, die Version zu überprüfen, die wir für Piketty Five haben. Wie machen wir das? Wir waren gerade im Visual Studio drüben. Und was wir tun werden, ist einfach
ein paar Dinge zu importieren , die uns helfen werden, einfach die Version des Kuchens Cat5 zu
bekommen, die wir verwenden. Also komme ich einfach vom Fünf-Punkt-QT-Kern von Piketty. Wir werden später darüber diskutieren, wie diese diese sind, aber im Moment müssen wir nur die Ablenkung wissen. Also Süße Version, SDR. Und dann kriegen wir auch von Piketty Five Dot QT. Wir werden die Torten-QT-Version importieren. Und natürlich auch STR. Und beantworte das, lass mich das einfach korrigieren. Und wie Sie sehen können, wenn wir die QT-Version drucken
und dann auch die von QT-Version gefolgt sind. Und lass mich zurück hierher gehen und einfach Python schreiben, unseren Namen der Datei. Und wie wir sehen können, haben
wir Ablenkungen, die wir für QT und Piketty haben, die 5.15.25.15.4 sind. Dies ist bei Ihnen möglicherweise nicht der Fall. Es spielt keine Rolle. Wir müssen nur wissen, dass es installiert ist und alles ordnungsgemäß funktioniert. Das war's also. Im Grunde ist dies unser Output. Und in den nächsten Videos
beginnen wir damit, einige der Funktionen und Klassen,
die wir haben, zu implementieren Funktionen und Klassen,
die wir haben und deren Funktionen zu diskutieren. dies gesagt wird, ist
dies das Ende dieses Videos. Wir sehen uns im nächsten.
4. 3Date und Zeit: Hallo und willkommen zurück. In diesem Video werden wir einige der
wichtigen Klassen durchlaufen , die Sie verwenden können. Und um 55. Und sie sind das Warteschlangendatum, Warteschlangenzeit und die Q-Tagesklassen. Und diese Klassen sind tatsächlich für
Datum und Uhrzeit verantwortlich Datum und Uhrzeit die
Zusammenführung zwischen ihnen mithilfe der
Funktionen, Funktionen und die
Zusammenführung zwischen ihnen mithilfe der
Funktionen, Funktionen usw. Anstatt also mit den eigentlichen Anwendungen oder
dem eigentlichen Aufbau
der Piketty fünf Anwendungen zu beginnen dem eigentlichen Aufbau
der , die wir erstellen können. Ich dachte, warum fangen wir nicht einfach mit etwas
Einfachem an und dass wir n Pi 35 verwenden können, das ist Datum und Uhrzeit. wir
zunächst mit dem Importieren dieser Klassen. Also werden wir sie aus
dem Fünf-Punkt-QT-Kern von Piketty importieren . Und ich habe bereits eine Klasse datetime dot py erstellt. Also ein Drehbuch. Und von diesem werden wir aus Piketty Fünf-Punkt-QT-Kern
importieren. Wir werden drei Dinge importieren. Das ist dQ, Datum, Q, tut mir leid, Q. Und dann haben wir auch Datum, Uhrzeit der Intensivstation. Alles klar. Jetzt haben wir alles, was wir brauchen. Wir können einfach weitermachen und sie ausdrucken. Was wir also tun müssen, ist das aktuelle Datum von heute
auszudrucken. Wie machen wir das? Ich drucke es einfach hier aus. Also werde ich das aktuelle Datum des Warteschlangendatums drucken. Wie wir sehen können. Wenn ich nun die Eingabeaufforderung öffne, werden
wir zum Desktop gehen , wo ich
den Pike ED50-Apps-Ordner habe. Und dann starte ich einfach datetime dot py. Wie wir sehen können, haben wir bekommen, was wir brauchen, nämlich das aktuelle Datum, das ist 2000 21, der Monat ist 11 und es tut mir leid, der Tag ist der erste November. Das ist es im Grunde genommen,
so können wir das aktuelle Datum verwenden oder abrufen. Jetzt haben wir auch zwei Dinge, die wir benutzen können. Zwei Methoden, also
das ISO-Datum oder das standardmäßige lokale lange Datum. Also werde ich jetzt beide benutzen. Was ich also tun werde, ist einfach das aktuelle Datum des Warteschlangendatums zu drucken. Und dann gefolgt vom ToString. Ich mache es zu einer Schnur. Und ich werde
jetzt etwas verwenden, um dieses aktuelle Datum zu formatieren. Und es stammt eigentlich aus der QT-Klasse. Um das zu tun, werde ich einfach
auch die QT-Klasse hier abrufen oder importieren. Und das ist das QT-Punkt-ISO-Datum. Wie du jetzt siehst, wenn ich weitermache und tut mir leid, lass es mich einfach schreiben. Datum. Wenn wir das jetzt noch einmal ausführen, werden
wir 2021 11 erhalten, die unser Datum angibt. Also in diesem Format, und wir haben auch das zweite Format, das das lokale lange Datum ist. Und um das zu tun, verwenden
wir einfach auch das Q-Datum, das aktuelle Datum, und wir werden es zu einer Zeichenfolge machen. Wir werden jedoch
qt dot default, lokales, langes Datum verwenden . Wenn wir es jetzt noch einmal ausführen, werden
wir so etwas bekommen, nämlich Montag, der 1. November 2021. Dies sind also nur Möglichkeiten,
unsere Ausgabe in ein gut aussehendes Datum zu formatieren . Das war's also. Im Grunde ist dies das erste, was wir tun werden. Das heißt, um das Datum auszudrucken. Lasst uns jetzt zu etwas mehr über die Zeit übergehen. Lassen Sie mich das also einfach auskommentieren und jetzt werden wir die aktuelle Uhrzeit drucken. Wie machen wir das? Ich werde einfach einer Variablen zugewiesen, dem Warteschlangendatum, dem Zeitpunkt. Ich verwende die Funktion current datetime. Wenn ich nun dieses Mal ausdrucke, wir so etwas, was wir bekommen, nämlich Datum und Uhrzeit. Wie wir sehen können, 2021111. Und das ist die tatsächliche Stunde des Tages und dann Minuten, Sekunden und so weiter und so weiter. Also, wenn wir es jetzt
etwas einzigartiger oder ein bisschen lesbarer aussehen lassen wollen. Was wir tun werden, ist einfach die aktuelle Uhrzeit zu verwenden. Das haben wir auch. Etwas, das aus dem Modul der Zeitklasse stammt. Und um einfach
die Uhrzeit auszudrucken , wenn wir das Datum nicht benötigen. Um das zu tun, werden wir das einfach noch einmal ausführen. Lassen Sie uns das auskommentieren. Und wir werden es laufen lassen. Wie wir sehen können, haben wir diesmal nur die Zeit. Das war's also. Im Grunde ist dies unsere Zeit. Jetzt haben wir auch einige Funktionen , um dies vielleicht lesbarer zu machen. Wie machen wir das? Wir werden einfach dieselben Funktionen
oder dieselben Methoden verwenden, die wir von der QT-Klasse verwenden. Also werde ich weitermachen und den Zeitpunkt nach String drucken. Und ich werde qt dot ISO-Datum verwenden. Wenn wir das jetzt noch einmal ausführen, werden
wir genau die Zeit bekommen, die es hat, dies ist die Stunde, Minute und Sekunde. Und wenn ich es noch einmal ausführe, werde ich sehen, dass sich die zweite von jedem Mal
ändert, wenn wir diesen Code ausführen. Das war's im Grunde genommen. Jetzt können wir genau das Gleiche für
die datetime-Variable tun , die wir zuvor hier erstellt haben. Und wir bekommen das gleiche Format wie zuvor. Lasst uns nun zu einer anderen Sache übergehen, die die Anzahl der Tage ist. So können wir die Anzahl der Tage im bestimmten Monat ermitteln. Und wir müssen nur die Tage- und Monatsmethode verwenden. Und wir können auch die Anzahl der Tage in einem bestimmten Jahr mit der Methode „Tage im Jahr“ ermitteln. zu tun, lassen Sie mich das einfach auskommentieren. Und wie Sie sehen können, können
wir einfach die Uhrzeit genau hier schreiben. Was wir also tun werden, ist
auszudrucken , wie viele Tage wir in diesem Monat haben. Wir müssen also den Monat oder das Datum erstellen. Also kriegen wir den Monat bei zweitausend bis vielleicht 66. Und wie bekomme ich die Tage und Monate. Also würden wir einfach diese und Monatsmethode verwenden. Wenn wir das jetzt machen, werden
wir 30 bekommen, was darauf hinweist, dass wir
in diesem Monat 30 Tage hatten. Wenn wir nun die Tage im Jahr nutzen wollen, können
wir einfach auch das gleiche exakte Format verwenden. Also werden wir das bekommen und wir werden die Methode „Tage im Jahr“ verwenden. Wenn wir das jetzt noch einmal ausführen, werden
wir 365 bekommen, was darauf hinweist, dass wir
die 165 Tage im Jahr 2002 haben . Wenn wir es ändern, kriegen wir vielleicht etwas anderes. Wir ändern es auf ein weiteres Mal. Und wie wir sehen können, haben
wir jetzt 366 Tage und wir haben auch 380 Tage im Monat Juni. Dies ist also im Grunde genommen für die Klassen Datum,
Uhrzeit, Datum und Uhrzeit festgelegt . Wir haben viele Methoden und Funktionen , die Daten,
Zeiten verwenden und abrufen und mit all diesen Dingen arbeiten können. Abgesehen davon ist dies das Ende dieses Videos. Wir sehen uns im nächsten.
5. Knöpfe: Alles klar, also gehe zu einem neuen Thema weiter. Jetzt, da wir die erste Anwendung erstellt haben, können
wir zu etwas Komplexerem übergehen, nämlich Schaltflächen mit Piketty 5 erstellt. Was wir also tun werden, ist dieselbe Süße,
Cutie Goo und Menge zu importieren , was wir vorher auferlegen. Und jetzt fangen wir mit unserer Anwendung an. Wie zuvor erstellen wir die Q-Anwendung. Und wir werden es nehmen, das hat ein Argument. Und dann werden wir unser Fenster erstellen, das diesmal der Q-Dialog sein wird. Und wir werden es in einer Minute erkunden. Was wir jetzt jedoch tun werden, ist Schaltflächen zu erstellen. Lassen Sie mich vorher einfach unser Fenster
zeigen und dann natürlich unsere App
kennzeichnen oder ausführen. Um das zu tun, werden
wir beenden und davor werden wir unsere Anwendung ausführen. Wenn ich das jetzt mache, kriegen
wir so etwas. Was wir jetzt hinzufügen werden, sind ein paar Schaltflächen. Und um das zu tun, müssen
wir nur einen Warteschlangen-Druckknopf erstellen. Und es ist eigentlich sehr einfach. Was wir also tun werden, ist den Button eins zu erstellen. Und es wird ein Warteschlangen-Druckknopf sein. Und es wird im Fenster sein. Und wenn wir in diesem Button Steuern setzen
wollen, werden wir natürlich einfach die setText-Funktion verwenden. Und wir können zum Beispiel einen Namen sagen. Wenn ich jetzt weitermache und das noch einmal mache, lass mich diese 1 zuerst schließen. Lass es laufen. Und wie Sie sehen können, haben wir einen Knopf und der Name als Label dieses Buttons
steht. Was wir jetzt tun werden, ist, ein paar Schaltflächen zu erstellen, die den Namen angeben, vielleicht benennen wir vorerst nur ein Alter. Was wir jetzt tun werden, ist eine Schaltfläche zu erstellen, und es wird auch ein Cube-Push-Button sein. Dieses Fenster. Und Button 2, wir haben den Text von h genau hier. Und jetzt denke ich, dass es uns gut geht. Wenn ich also weitermache und das schließe, führe das noch einmal aus, wir kriegen hier etwas wie H. Wir sehen
die Steuer jedoch nicht , da diese zu gering ist. Also eine Möglichkeit, damit umzugehen, legen
wir vielleicht die Geometrie für das ganze Fenster fest. Also w dot setText setzte Geometrie auf 500 mal 500 ein. Also haben wir alle 500er Jahre. Wenn ich das schließe und es nochmal mache, kriegen
wir so etwas. Wir können den Namen jedoch nicht sehen. Und das liegt daran, dass sich der Alters-Button oben auf der Namensschaltfläche befindet. Und eine Möglichkeit, damit umzugehen, besteht darin,
das Alter einfach auf den Grund zu bringen. Und dazu können wir einfach den Button benutzen, um zu bewegen, vielleicht bewegen wir es um 100 mal 100. Und jetzt, wenn ich das noch einmal mache, dann lass
mich diesen einen Lauf einfach schließen. Und wie Sie sehen können, haben wir Namen und Alter. Vielleicht brauchen wir sie nur, um auf derselben Achse zu sein. Jetzt geht's uns also gut. Wenn wir sie machen wollen, vielleicht nur in der Mitte der Seite oder so ähnlich. Wir können es einfach um 100 verschieben, aber wir müssen den Button auch eins um 100 und 0 verschieben. Also jetzt gehen wir zu, wenn ich es noch einmal durchführe, werden
wir so etwas bekommen, das den Namen und das Alter
angibt. Jetzt tun unsere Buttons eigentlich
nichts , weil wir keine Funktion für sie erstellt haben. Wenn wir nun eine Piketty Five-Anwendung haben, alle diese Schaltflächen bei bestimmten Ereignissen ausgeführt. Diese Anwendung begründet also nur , wenn der Benutzer auf etwas drückt. Wenn ich jetzt auf den Namen drücke, sollte es etwas tun. Und wenn ich auf H drücke, sollte
Ofs auch etwas anderes tun. Wenn ich also einen Namen drücke, drucken
wir hier meinen Namen. Und wenn ich auf das Alter drücke, sollte
es auch das H drucken Und in diesem Fall besteht
eine Möglichkeit darin, einfach Die geklickte Funktion zu verwenden , die wir mit Piketty Five und seinen Klassen haben. Und um das zu tun, müssen wir erwähnen, dass wenn auf diese Schaltfläche ein Punkt geklickt wird. Wenn also auf diese Schaltfläche geklickt wird, verbinden
wir sie mit einer Funktion, die wir erstellen und Funktionsstörungen haben, vielleicht nennen wir sie einfach Button 1, collect. Wie Sie sehen können, ist
dies noch nicht definiert. Melden Sie undefinierte Variablen. Das bedeutet also, dass wir diese Funktion erstellen müssen. Wir können es schaffen, vielleicht hier zu sein. Wir müssen also einfach eine Funktion erstellen. Nennen wir es Button 1, geklickt. Und diese Funktion wird einfach meinen Namen drucken. Das ist es also im Grunde genommen, wenn ich das noch einmal mache, was wir tun werden,
tut mir leid, dass wir das einfach aktualisieren müssen. Und es wird nicht angezeigt, weil wir es vor diese stellen müssen . Und wenn ich jetzt weitermache und das noch einmal,
werden wir natürlich so
etwas wie zuvor bekommen . Wenn ich jedoch auf diesen Button-Namen drücke, sehen
wir meinen Namen hier. Jedes Mal, wenn ich auf diese Schaltfläche drücke, wird ein Ereignis erstellt, das diese Funktion
generiert oder ausführt, die wir gerade hier erstellt haben. Wie haben wir es gemacht? Wir verwenden einfach die Select-Funktion im Warteschlangen-Push-Button. Und es werden nur drei Direktoren diese Funktion, die wir erstellt haben, und es wird unseren Namen drucken. Jetzt machen wir genau das Gleiche für Button 2. Also Button zum Sammeln. Und wir werden das H drucken, was im Grunde heißt, lass mich einfach eins hier schreiben. Und jetzt, wenn ich den Bus hineinfahre und die Sammelstelle benutze, kriegen
wir so etwas. Also Button zum Klicken. Mach weiter und führe das noch einmal aus. Wir werden das kriegen. Wenn ich ein H drücke, kriegen wir 21. Wenn ich einen Namen drücke, kriegen wir meinen Namen. Das war's also. Grundsätzlich können wir so
Tasten erstellen und mit Tasten und Fahrrad D5 arbeiten. Davon abgesehen ist
dies das Ende dieses Videos. Wir sehen uns im nächsten.
6. Layout: Hallo und willkommen zurück. In diesem Video werden wir also ein wenig über
die Positionierung und die Geometrie
der Piketty Five Anwendungen sprechen die Positionierung und die Geometrie
der . Wenn wir also
eine Funktion oder eine Anwendung mit Piketty five erstellen , müssen
wir sicherstellen, dass unsere Positionierung korrekt ist, insbesondere dass diese Anwendung auf
verschiedenen Browsern, Monitoren und Desktops ausgeführt wird. in diesem Fall Lassen Sie mich in diesem Fall einfach klarstellen. Verwenden einer Anwendung, die wir erstellen können und die die Q-Anwendung verwendet. Wir werden es wieder erstellen. Und dann öffnen wir ein Fenster aus dem Q-Widget. Und dann werden wir einen einfachen Druckknopf erstellen. Also nenne ich es B, was ein Warteschlangen-Druckknopf sein wird, und es wird im Fenster sein w. Und natürlich werden wir den Text auf den ersten setzen. Und lassen Sie es uns ein bisschen um 50 mal 50 verschieben. Und ich denke, es geht uns gut. Was wir jetzt tun werden, ist
dieses Fenster einfach zu zeigen und natürlich die Anwendung auszuführen. Wenn das gesagt wird, wenn ich das mache, bekomme
ich so etwas. Also haben wir unseren Druckknopf, der
zuerst ist und das ist unser Fenster. Beachten Sie nun, dass dieses Fenster der Mitte der Seite
aufgetaucht ist. Und wenn wir beispielsweise die Geometrie oder
für ein Fenster festlegen möchten , verwenden
wir die SAT-Geometriefunktion. Und diese Funktion wird vier Parameter annehmen. Wir haben es früher benutzt, aber jetzt besprechen wir es. Die ersten beiden Parameter sind also tatsächlich die Position n, der Monitor oder wo unsere Anwendung auftauchen wird. Wenn ich also 10 mal 10 sage, wird
es hier mit der X- und Y-Achse auftauchen. Dies ist also die X-Achse und die Y-Achse. Also wird es hier um diese Ecke auftauchen. Und natürlich müssen
wir mit den beiden anderen Parametern fortfahren. Und sie sind die Höhe und Breite unserer Anwendung unseres Fensters. In diesem Fall, wenn ich angebe , dass ich eine 100 mal 100 brauche. Wenn ich das jetzt schließe, lass es uns nochmal laufen. Wir kriegen so etwas. Wie wir sehen können, ist es aufgetaucht und die Ecke, und es hat 200 mal 200 als Höhe und Breite. in diesem Fall Wenn ich es in diesem Fall vielleicht ein bisschen verschiebe, 50 mal 50, werden wir so etwas bekommen. Wie wir sehen können, bewegen wir das ein wenig nach rechts und nach unten auf dem Bildschirm. Das war's also. Im Grunde ist dies die eingestellte Geometriefunktion und wie wir sie verwenden können. Jetzt, wann immer wir diese Position auf absolut setzen. Also legen wir die Höhen mit und die Position unseres Fensters fest. Es ist kein sehr guter Ansatz, da es nicht für das Fenster
geeignet ist, wenn wir es ändern müssen. Mit anderen Worten, wenn wir die Größe eines Fensters ändern, ändert sich
die Position der Widgets nicht. Und das ist ein Problem. Eine zweite Sache, die zu berücksichtigen ist, ist, dass wir verschiedene Anzeigegeräte
haben, die wir verwenden können, oder auf denen wir diese Anwendung verwenden können. Also in diesem Fall vielleicht die Dimension des Bildschirms, vielleicht unterschiedlich von den Abmessungen anderer Bildschirme. Und dies kann sich auf
unsere Bewerbung auswirken und es sind die Eltern insgesamt. Und schließlich, wann immer wir unsere Anwendung
modifizieren oder verbessern möchten , ist
es ziemlich schwierig, verschiedene Größen zu wählen, vielleicht verschiedene Positionen in diesem Fall. All dies, die berücksichtigt werden,
gelten also als sehr großes Problem wenn wir absolute Positionierung verwenden, wie wir es hier beim Einstellen der Geometrie getan haben. Um dies zu verbessern, haben
wir verschiedene Layoutklassen, um
die Position unserer Widgets
innerhalb des Bildschirms in unseren Containern zu verwalten die Position unserer Widgets . Und sie haben vielleicht mehr Vorteile als diese Seitengeometrieklasse. Und in diesem Fall
wird sichergestellt, dass dieses Erscheinungsbild, das wir haben, auf
allen Anzeigegeräten stattfindet , unabhängig von den Auflösungen. Und natürlich, wenn wir die Größe unseres Widgets ändern, die Größe der Anwendung oder des Fensters wird
die Größe der Anwendung oder des Fensters automatisch geändert. Also werden wir uns mit einer Liste von
Klassen befassen , die uns dabei helfen können. Und die erste wird die Cubebox-Layoutklasse sein . Und dies wird uns helfen, indem wir die Widgets
vertikal und horizontal mithilfe des
QV-Box-Layouts und des QH-Box-Layouts anordnen vertikal und horizontal mithilfe . Und wir werden es jetzt angehen. Lassen Sie mich also einfach weitermachen und hier ein neues Skript erstellen. Also nenne ich es Q,
Box, Layout Dot py. Fangen wir also mit den Imputationen an. Also gehe ich zurück zu Layout, kopiere diese und füge sie hier ein. Was wir jetzt tun werden, ist mit der Anwendung zu beginnen. Lassen Sie mich
dieses auch von hier kopieren , um Zeit zu sparen. Und jetzt werden wir zwei Schaltflächen erstellen. Also nenne ich es Button 1, und es wird wie gewohnt q drücken. Vielleicht Durst und Knopf 2. 2 wird auch q-Druckknopf sein und es wird Zweiter sein. Was wir jetzt tun werden, ist das QV-Box-Layout zu verwenden. Und was ich als
Variable v für die VBox erstellen werde. Und ich weise es dem Q vBox-Layout zu. Und was wir tun werden, ist,
die Schaltflächen in dieses Feld einzufügen . Wie machen wir das? Wir rufen einfach V auf und wir verwenden
die Funktion Widget hinzufügen. Wir werden den Button eins hinzufügen. Und dann werden wir auch das zweite Widget
hinzufügen , das ist Button 2. Nun, wenn wir das im Layout Punkt py bemerken, wann immer wir
diese eingestellte Geometrie in absolute Positionen setzen. Wenn wir weitermachen und lassen Sie uns das vielleicht ändern. Wie Sie sehen können, befindet
sich der Button immer noch an derselben Position. Was auch immer wir tun, es wird an derselben Position sein. Und das sieht nicht gut aus. Und es ist im Grunde eine schrecklich aussehende Anwendung da wir
die Position des Buttons nicht ändern können , egal was wir tun. Was wir jetzt tun werden, ist,
dieses Feld zu erstellen und Stretching hinzuzufügen. Wie machen wir das? Wir müssen den Add-Stretch verwenden. Und wenn ich jetzt weitermache und
das mache, bekommen wir etwas Ähnliches wie zuvor. Wir haben jedoch eine leere dehnbare Box
zwischen diesen beiden Tasten hinzugefügt . Also wenn ich jetzt weitermache und das Layout
des Fensters, das wir haben, auf diese Box einstelle , die wir erstellt haben. Wir verwenden also die SAT-Layoutfunktion. Und es wird dieses V. Natürlich danach wir dieses Fenster wie
zuvor anzeigen und beenden, indem wir die Anwendung ausführen. Das ist es also im Grunde genommen, wenn ich zwei Box-Layout-Dot-Py
starte, werden
wir so etwas bekommen. Wenn
ich jedoch die Größe dieser Anwendung vergrößere, werden
die Schaltflächen ebenfalls vergrößert. Und wie wir sehen können, haben
wir den Unterschied zwischen ihnen weil wir hier eine leere dehnbare Box hinzugefügt haben. Wir können es also nicht sehen, aber wir haben eine leere dehnbare Box zwischen diesen beiden Klassen. Wenn wir also die Größe vergrößern, wird
es immer
der erste Button an der ersten Position der Seite sein . Und dann haben wir
den zweiten Button und den oberen oder unteren Rand der Seite. Das war's also. Grundsätzlich können wir so das QV-Box-Layout verwenden und diese Tasten manipulieren und die Position und Größe
dynamisch ändern. Das ist es im Grunde genommen für die QV-Box, dh
ein vertikales Streckfeld zwischen
diesen beiden, vielleicht zwei Schaltflächen, zu erstellen ein vertikales Streckfeld zwischen . Was wir sehen werden, ist das QH-Feld, das
heißt, eine vertikale oder es tut mir leid,
ein horizontales Feld zwischen diesen beiden Schaltflächen hinzuzufügen . Wie machen wir das? Wir erstellen einfach einen Satz der VBox. Wir werden eine H-Box erstellen. Wie machen wir das? Lassen Sie mich gerade hier erstellen, anstelle der QV-Box werde
ich QH-Box haben. Wenn ich das nochmal mache, kriegen
wir so etwas. Und dieses Mal, wenn ich die Höhe vergrößere, tut mir leid, die Breite der Anwendung, werden
wir etwas Ähnliches sehen wie zuvor. Das war's also. Grundsätzlich können wir so das QV- und
QH-Box-Layout verwenden , um unsere Erfahrung mit Piketty Five zu verbessern. Jetzt ist eine andere Klasse das Raster-Layout. Und diese Klasse wird es uns ermöglichen, ein Raster zu erstellen und es unserem Fenster hinzuzufügen. Also wie macht man das? Ich habe gerade das QC-Gitter-Layout erstellt, diesen Kuchen, ich habe alle vorherigen Importe gepostet. Und jetzt können wir mit unserer Funktion beginnen. Was wir also tun werden, ist das vorherige hier zu kopieren. Und was wir jetzt tun werden, ist, ein Raster mit dem QC-Raster-Layout zu erstellen. Also muss ich ein Raster aus dem Q-Raster-Layout erstellen. Dann werden wir
dieses Raster mit Widgets füllen . Die Widgets werden also q-Drucktasten sein. Also können wir entweder einen Button angeben, der vielleicht nur q
sein möchte , Druckknopf des Namens. Vielleicht nur Button 1, dann Button zur Warteschlange. Drücken Sie
Knopf, Knopf zu Ich werde drei oder vier q Druckknopf haben. So niedlicher Druckknopf von Beta3 und Button 4
, der auch q-Druckknopf für sein wird. Also das ist es im Grunde genommen, lass mich das einfach aktualisieren. Und jetzt haben wir alle Buttons erstellen, die wir brauchen. Was wir jetzt tun werden, ist, sie zu unserem Raster hinzuzufügen. Wie macht man das? Wir fügen dem Raster einfach ein Widget hinzu, das im Grunde Button 1 ist. Wir müssen jedoch die Position angeben. Die erste Position wird also 11 sein. Und dann fügen wir auch Widget hinzu. Und es wird Button 2 von Position sein. Vielleicht möchten Sie das Add-Widget lesen, Button drei, vielleicht 21. Und dann lies das Widget hinzufügen Button 4 zu 2. Das ist also im Grunde genommen unser Raster geschaffen. Wir müssen es zu unserem Fenster hinzufügen. Wie macht man das? Wir müssen das Layout eines Fensters
wie zuvor festlegen , um dieses Raster zu sein. Wir haben zuvor das Set-Layout als diese VBox verwendet. Jetzt werden wir festlegen, dass es dieses Raster ist, das wir gerade erstellt haben. Danach setzen wir die Geometrie ein. Und natürlich können Sie wählen, was wir wollen. Ich gehe lieber um 500s. Wenn ich jetzt weitermache und das zeige und die Anwendung hoch und hoch, dann führe app.py aus. Und wir werden so etwas sehen. Das war's also. Im Grunde haben wir vier Knöpfe. Button eins war nicht so schlimm und Drei-Zeiger vier. Diesmal sind sie jedoch dynamisch, sodass sie sich ändern wenn wir unsere Anwendung erstellen oder verschieben und die Größe ändern. Wie machen wir das? Wir haben einfach ein Raster mit dequeued Raster-Layout erstellt. Wir haben unsere Druckknöpfe erstellt und diese dann zu diesem Raster hinzugefügt. Und danach legen wir das Layout unseres Fensters auf diesen tatsächlichen Kredit fest, den wir gerade erstellt haben, der
die Geometrie zeigt , mit der wir zuerst arbeiten werden. Aber wir können die Anwendung immer manipulieren oder ändern und die Größe ändern, wie wir wollen. Das ist es im Grunde genommen für diesen Kurs, wir haben immer noch eine Klasse , die wir im nächsten Video angehen werden. Wir sehen uns dann.
7. FormularLayout: Alles klar, also hallo und willkommen zurück. In diesem Video werden wir
unsere Layer-Out-Klassen fortsetzen . Und wir haben auch die letzte Klasse, die die Formularlayoutklasse ist. Und in dieser Klasse werden wir besprechen, wie
Sie Zeilen zu den Widgets hinzufügen können, die wir haben. Beginnen wir also mit dem Erstellen unserer Layoutklasse für Warteschlangenformularien. In diesem Fall mache ich
einfach das neue Skript, nenne es q form, layout dot py. Jetzt, wo wir alles haben,
was wir brauchen, beginne ich damit, ein Label zu erstellen. Und um das zu tun, nenne ich es als Label eins. Und in diesem Fall verwende
ich das Warteschlangenlabel. Und vielleicht brauchen wir nur den Vornamen der Person. Und dann werden wir unser reines Formular-Layout erstellen. Also nenne ich es für das Layout. Und es wird q für das Layout sein. Und was wir tun werden, ist,
dieses Label in das Formularlayout einzufügen . Wie machen wir das? Wir bilden einfach das richtige Layout, Punkt fügen Zeile hinzu. Und in dieser Zeile werden wir dieses Label eins hinzufügen. Wenn ich jetzt weitermache und das mache, tut es mir leid, wir haben das alte Problem gelöst. Ich werde q für Layout Dot py ausführen. Und wir kriegen k. Also haben wir vergessen, das Fenster zu zeigen, das wir gerade erstellt haben. Um das zu tun, müssen wir es hier zeigen. Und natürlich müssen wir beenden, indem wir die App ausführen, also Punkt wie zuvor ausgeführt. Und natürlich müssen wir das Layout des Fensters so hinzufügen oder festlegen , dass es sich um dieses gerade erstellte Formularlayout handelt. Sie können also sagen, dass
W-Punkte-Layout verformt werden soll Layout früher erstellt, also weiter, legen Sie fest. Und jetzt geht's uns gut. Wenn ich also jetzt weitermache und das noch einmal durchführe, werden
wir so etwas sehen, das darauf hinweist, dass wir FirstName als Label haben. Was wir jetzt tun werden, ist vielleicht eine Eingabe hinzuzufügen bei der der Benutzer seinen FirstName hinzufügen kann. Und in diesem Fall werden wir einfach
nach dem Label hinzugefügt und eine weitere Zeile hinzufügen Wir müssen nur
eine Variable der Eingabe 1 bis b der q-Zeile bearbeiten lassen . Und jetzt, wann immer wir Zeile zwei hinzufügen, dieses Formularlayout. Also hier haben wir einen beschriftet und wir werden eine Eingabe als solche hinzufügen. Wenn ich das also noch einmal ausführe, erhalten
wir so etwas wie
diesen FirstName und wo
der Benutzer seinen Vornamen erhalten
wir so etwas wie diesen FirstName und wo auch bearbeiten oder hinzufügen kann. Jetzt machen wir genau das Gleiche für den Nachnamen. Vielleicht ist die Bezeichnung zwei gleich q Label und Nachname. In diesem Fall benötigen wir auch
eine Eingabe zwei der q-Zeile. Und natürlich fügen
wir nach
dem Erstellen des Formularlayouts und
dem Einfügen der ersten Beschriftungen und Eingaben auch eine neue Zeile hinzu, in diesem Fall für die Bezeichnung zwei und Eingabe 2. Das ist es im Grunde genommen, wenn ich das noch einmal durchführe, werden
wir so noch einmal durchführe, etwas wie diesen FirstName,
LastName und so weiter bekommen . Was wir jetzt tun werden, ist
vielleicht mehr Informationen über diese Person hinzuzufügen . Vielleicht passt jedoch eine Zeile nicht. Was wir also tun werden, ist etwas aus einer früheren Klasse
zusammenzuführen, nämlich dQ Box. Und in diesem Fall verwenden wir
die vertikale Streckung für die Box. Lassen Sie mich in diesem Fall ein Etikett drei hinzufügen, das
darauf hinweist, dass zusätzliche Informationen vorhanden sein können. Also zusätzliche Informationen. Und in diesem Fall benötigen
wir eine Eingabe des Benutzers, die beispielsweise aus zwei Zeilen besteht. Geben Sie also 3 ein, einer wird DQ-Zeile Edit sein. Und dann wird Eingabe 3, 2 eine andere Warteschlangenzeile hinzugefügt. Also Q-Zeile bearbeiten. Wir müssen diese beiden jedoch zu einer Box zusammenführen. Wie macht man das? Wir werden eine Schachtel erstellen. Und es wird natürlich
das QV-Box-Layout sein, da wir sie vertikal haben müssen. Also Q, das Box-Layout. Und was wir tun werden, ist,
diese beiden Eingaben in dieses Feld einzufügen . Und danach müssen wir alle
diese Bücher in das gerade erstellte Formularlayout hinzufügen . Wie macht man das? Wir verwenden einfach die Widget-Funktion hinzufügen , die wir eingeben müssen 31. Und dann müssen wir auch die Eingabe 32 hinzufügen. In diesem Fall haben wir unsere Box, die aus
zwei Eingängen des Benutzers besteht, die
vertikal auf dem Bildschirm liegen . Was wir jetzt tun werden, ist einen Euro in dieses Formular-Layout
einzufügen , der aus dem Etikett drei und dieser ganzen Box besteht. Das ist es also im Grunde genommen, wenn ich das noch einmal ausführe, bekomme ich so etwas, was
darauf hinweist, dass wir FirstName, LastName haben
und zusätzliche Informationen über Toolboxen haben. Und wie Sie sehen können, die Größe geändert,
wenn ich die Breite wird die Größe geändert,
wenn ich die Breite ändere. Das ist es im Grunde genommen, was wir vielleicht tun können
, ist , den Benutzer zwischen zwei Kategorien zu wählen. Und in diesem Fall können
wir die Box
als horizontal verwenden , um die Kategorien zu platzieren. Hier haben wir zum Beispiel die Kategorie eins und die zweite Kategorie. Also können wir das Optionsfeld benutzen, wenn wir wollen. Der Benutzer soll nur eine Kategorie wählen. In diesem Fall werde ich also
ein neues Label erstellen, das vielleicht den Kategorietyp angibt. Um das zu
tun, werde ich einfach ein neues Label erstellen, für
das das Q-Label vom Kategorietyp sein wird. Und danach werde ich eine neue Box erstellen, wir diesmal
jedoch horizontal brauchten. Also werde ich eine
H-Box haben , die diese horizontale Box anzeigt. Und es wird Q H Box-Layout sein. Und wir müssen Widgets hinzufügen. Und in diesem Fall werden wir das Optionsfeld Q
hinzufügen. Und das ist eine neue, die wir jetzt erforschen werden. Also werden wir das Optionsfeld q hinzufügen, und es wird Kategorie 1 sein. Und dann fügen wir ein neues Widget hinzu. Es tut mir leid, hier haben wir in beiden Fällen eine H-Box. Und wir werden in diesem Fall das Optionsfeld q
der Kategorie 2 hinzufügen . Und jetzt, nachdem wir diese H-Box erstellt
haben, müssen wir die Stretch hinzufügen. Und in diesem Fall können
wir es einfach mit der H-Box machen, die Stretch hinzufügt. Und danach werden
wir natürlich einfach alle diese Labels und Box in
das gerade erstellte Formularlayout einfügen . Also Formular-Layout, das Zeile hinzufügt. Wir werden das Label für haben. Und dann haben wir die Eingabe
oder die H Box, die wir gerade erstellt haben. Wenn ich das also noch einmal durchführe, erhalten
wir so etwas, das den Kategorietyp, die Kategorie eins und die zweite Kategorie angibt . Denken
Sie daran, dass wir nur
diese hinzufügen dehnen, um die Größe zu erhöhen um diese Kategorie eins und Kategorie zwei zu haben. Und der Benutzer kann nur einen Typ auswählen, da wir uns für ein Optionsfeld entschieden haben. Und dies wird sicherstellen, dass der Benutzer eine und nur eine Kategorie auswählt. Das ist es also im Grunde genommen, wir können einfach
Schaltflächen hinzufügen , mit denen der Benutzer das Formular absenden kann. Also lass es mich einfach hier machen. Was wir also hinzufügen werden, ist ein neuer Button. Also erstelle ich hier eine neue Zeile. Also Formular-Layout, das Zeile hinzufügt. Ich füge einen Würfel-Druckknopf hinzu. In diesem Fall wird gesagt, senden Sie das Formular ein. Wenn ich das jetzt noch einmal mache, kriegen
wir so etwas. Reichen Sie das Formular ein. Und natürlich können
wir auch
einen weiteren Warteschlangen-Push-Button hinzufügen , um dieses Formular abzubrechen. Also können wir hier Abbrechen sagen. Wenn ich jetzt weiterfahre, feuert die Zeit ab, wir bekommen so etwas, senden das Formular ab und kündigen es ab. Wir haben FirstName, LastName, zusätzliche Informationen und den Kategorietyp genau hier. Das ist es also im Grunde für die Warteschlange für ein Layout. Abgesehen davon ist dies das Ende der Layoutklassen, die wir haben. Wir haben die Cube Box, das
Würfelraster und die q-Form untersucht , die uns helfen werden, fünf Pi QT-Anwendungen später zu entwickeln, wenn die Dinge kompliziert werden. Das ist es im Grunde genommen für dieses Video, wobei das gesagt wird, ist dies das Ende davon. Und wir sehen uns im nächsten.
8. Etikett: Hallo und willkommen zurück. In diesem Video werden wir über Hexen sprechen. Sie haben bereits einige von ihnen gesehen, z. B. das Etikett, die Zeile, das Bearbeiten, den Druckknopf und das Optionsfeld. Jetzt werden wir in diesem Video einige
davon besprechen und dann werden wir neue entdecken. Was wir also anfangen werden, ist die Q-Arbeit, die wir früher hier benutzt haben. Also erstelle ich zuerst eine Warteschlangenbezeichnung für Py Script. Und darin werden
wir mit der Q Arbeiterklasse zusammenarbeiten. Das erste, was ich tun werde, ist einfach
alles zu importieren , was wir hier haben, dieses neue Skript. Und was ich auch tun werde, ist,
die Anwendung mit dem Fenster zu starten , das wir erstellen müssen. Und natürlich zeige ich das Fenster mit
der Anwendungsausführung am Ende. Das ist also für das Setup. Was wir jetzt tun werden, ist, unsere Arbeit zu schaffen. Wir haben also zwei Methoden, um das Label zu erstellen. Also nennen wir es entweder als Label eins und erstellen
einfach die Warteschlangenarbeit genau hier. Und danach können
wir den Text dieses Labels so setzen, sie
zum Beispiel einen beschriften. Nun besteht die zweite Methode darin warum Sie
eine dq-Label erstellen, wir legen einfach den darin enthaltenen Text als wir legen einfach den darin enthaltenen Text als Parameter oder ein Argument wie dieses fest. Das ist es also im Grunde genommen, nein, er wird eine enge haben und jetzt sind wir gut. Dies sind also die beiden Hauptmethoden, die Sie tun können, um dies zu erstellen. Was wir jetzt sagen können ist, lass mich einfach das Skript ausführen und es dir zeigen. Wenn ich also Python q mit der Bezeichnung dot py starte, werden
wir so etwas bekommen. Wir haben diese jedoch nicht
in das eigentliche Python-Skript oder das Fenster aufgenommen, also müssen wir es nur hier machen. Wie Sie sehen können, haben wir das Label das wir erstellt haben q-Label. Wir müssen den Parameter oder das Argument W hinzufügen und
angeben, dass sich dieses Label in diesem Fenster befindet. Wenn ich
nun dieses Skript ausführe, werde
ich in unserem Fenster genau hier als
eins beschriftet werden. Wenn wir nun das Etikett hinzufügen möchten, was wir tatsächlich
tun können , während wir das Warteschlangenlabel erstellen und den Namen hinzufügen, können
wir ein neues Argument hinzufügen das das Fenster
angibt, das wir benötigen. Wenn ich es jetzt noch einmal durchführe, werden
wir uns als eins beschriftet. Und wie Sie sehen können, haben wir zwei oben auf dem beschrifteten. Damit es besser aussieht, können
wir den Umzug vielleicht 50 mal 50 beschriften. Und natürlich müssen wir die Geometrie
dieses Fensters in so etwas einstellen . Und wie Sie jetzt sehen können, wenn ich das noch einmal mache, werden
wir Label eins bekommen und wie erwartet zwei kennzeichnen. Wenn Sie nun nur
die Labels verschieben möchten und wir ihre Positionen auswählen möchten, können
wir dies tatsächlich tun, indem wir
die VBox verwenden , von der wir zuvor erfahren haben. Wie machen wir das? Bevor wir
dieses Etikett erstellen und es in das Fenster legen, erstellen
wir zunächst dieses Etikett erstellen und es in das Fenster legen, nur eine Arbeit,
ohne es an irgendeinem Ort zu platzieren. Also haben wir diese beiden Labels. Was wir jetzt tun werden, ist einfach die Ausrichtung dieser Arbeit festzulegen. Beschriftung eins wird also von Ausrichtung sein. Und ich benutze den Q t dot. Und wir haben eine Funktion namens Alignment Center. Also ausgerichtet Mitte. Und ich muss das Etikett rechts setzen, also ist q t dot dot ausgerichtet. Stimmt's? Jetzt werden wir
unsere Box erstellen, um diese Etiketten zu enthalten. Was wir also sagen können, ist, dass die Box dem Q vBox-Layout entsprechen wird. Und dann wird diese Box das Etikett eins
haben und auch 2 beschriftet. Wenn wir wollen, können wir die Strecke zwischen ihnen hinzufügen. So wie zuvor können wir Stretch hinzufügen. Und jetzt geht's uns gut. Was wir auch tun können, ist einfach das Layout des Fensters so anzuzeigen oder festzulegen, dass es sich um diese Box handelt. Wie macht man das? Sie können einfach ein W-Punktsatz-Layout schreiben und wir fügen ein Feld hinzu. Wenn ich das jetzt noch einmal durchführe, kriegen
wir so etwas. Also haben wir das Label eins in der Mitte und ist hier oben oder unten rechts beschriftet . Und das liegt an der Dehnung zwischen diesen beiden Nachbarn und natürlich an der Ausrichtung oder der SAT-Ausrichtung nach rechts für Arbeit 2. Wenn ich das zum Beispiel entferne und das noch einmal ausführe, bekommen
wir so etwas. Wie Sie sehen können, befindet sich die
Beschriftung zwei nicht in der oberen oder unteren rechten Ecke und die Beschriftung ist nicht die obere Mitte des Bildschirms. Das war's also. Grundsätzlich ist es das, was die Stretch macht und natürlich werden auch
die eingestellten Ausrichtungen benötigt , um die gewünschte Ausgabe zu erhalten. Das ist also im Grunde für die Arbeiterklasse. Abgesehen davon ist dies das Ende dieses Videos. Im nächsten Video werden wir die Q-Zeilenbearbeitung besprechen . Also wir sehen uns dann.
9. Line: Willkommen zurück. In diesem Video werden wir
die Q Line Edit Klasse besprechen . zunächst vor dem Start Lassen Sie mich zunächst vor dem Start einfach zu
einem vorherigen Skript zurückkehren und all diese kopieren. Ich füge sie hier ein und die Endzeilen genau hier. Jetzt können wir loslegen. Was wir tun werden, ist mit dem Erstellen einer Zeilenbearbeitung
zu beginnen. Also nenne ich es Input. Eine wird q-Zeile hinzugefügt. Und was wir tun werden, ist einige Funktionen zu verwenden , die uns innerhalb der Linie in der Klasse zur Verfügung stehen. Bevor ich das mache, lass mich dieses Skript einfach ausführen. Und wie wir sehen können, haben
wir nichts drin, weil wir
diese Zeile nicht in das Layout des Fensters hinzugefügt haben. Eine Möglichkeit, dies zu tun, besteht darin, einfach einige Zeilen in das Formular-Layout
hinzuzufügen. Und innerhalb dieser Zeilen werden wir diese Bearbeitungen hinzufügen. Um das zu tun, ich einfach erstelle
ich einfach hier Standardlayouts. Ich nenne es Formular Layout Q für Layout, das wir zuvor verwendet haben. Und dann fügen wir eine Zeile hinzu. Und in dieser Reihe werde ich die Eingabe haben. Und bevor wir zwei Fenster anzeigen, müssen
wir natürlich das Layout auf
diese Formel einstellen , die wir gerade erstellt haben. Wenn Sie jetzt zurückgehen und dies erneut ausführen, erhalten
wir so etwas darauf hinweist, dass der Benutzer
diese Eingabe verwenden oder die gewünschte Eingabe eingeben kann. Was wir jetzt tun werden, ist diese Zeilenbearbeitung zu ändern oder zu verbessern. Eine Möglichkeit, dies zu tun, besteht
beispielsweise darin, die maximale Länge anzugeben oder die Ausrichtung dieser Eingabe festzulegen. Also werden wir mit mehreren Funktionen arbeiten. Das erste, was wir tun werden, ist zu prüfen ob diese Eingabe eine Ganzzahl ist oder nicht. Was wir also tun können, ist
zu versuchen, einen zu setzen, diesen End-Validator. Also werden wir den Set-Validator verwenden. Und darin werden wir DQ und Validator verwenden. Was diese Funktion tatsächlich tut, ist,
dass der Benutzer nur eine ganze Zahl eingeben kann. also zum Beispiel Wenn ich also zum Beispiel das noch einmal durchführe, kriegen
wir das. Jetzt versuche ich zu schreiben und zu verfallen, aber einige Buchstaben, in dieser Eingabe zeigt sich
nichts. Wenn ich jedoch ein paar Zahlen schreibe, bekomme ich das. Wie Sie sehen können, haben
wir so viele Zahlen, wenn wir nur
auf zwei Zahlen beschränken möchten , zum Beispiel können wir
die maximale Länge von diesem und 22 festlegen . Wie macht man das? Wir werden die Eingabe verwenden,
die eingestellte maximale Länge auf zwei. Wenn ich jetzt
wieder renne, bekomme ich so etwas. Jetzt habe ich ein paar Zahlen geschrieben, aber ich versuche jetzt noch etwas zu schreiben, aber es wird nicht dauern. Dies ist also im Grunde genommen, um nach der Ganzzahl zu suchen. Wir können
die Ausrichtung auch für Mitte, Links oder Rechts festlegen . Wir haben es früher gemacht. Worauf wir uns konzentrieren werden, sind einige Float-Zahlen. Also werde ich eine weitere Eingabe erstellen,
die Eingabe zwei ist, Q-Zeilenbearbeitung. Und darin werden wir einen Set-Validator von Double
erstellen. Und wie machen wir das? Wir werden genau das Gleiche machen wie zuvor. Stellen Sie Validator ein, jetzt eine Reihe von Q und Facilitator, ich werde den q-Doppelvalidator verwenden. In diesem Fall wird überprüft, ob dies ein Double zwischen zwei Zahlen
ist. Ich werde vielleicht einfach 0 und 100 um eine 100 setzen. Jetzt möchte ich fünf Ziffern nach dem Dezimalpunkt haben. Das sind also die maximalen Ziffern laut. Wenn ich nun fortfahre und es dem Formularlayout hinzufüge, die Zeile hinzufüge, fügen wir Eingabe zwei hinzu. Und natürlich eine Akte. Fahren Sie fort und führen Sie diesen Code erneut aus. Ich besorge mir so etwas. Diesmal kann
ich jedoch vielleicht bei 33 Punkt, wenn ich 66666 drücke. Wenn ich jetzt weiter auf Sex drücke, wird
nichts passieren, weil ich angegeben habe, dass ich
nur fünf Zahlen nach den Dezimalstellen brauche . Hier sind es also fünf Zahlen. Jetzt und jetzt, wenn ich versuche, noch ein paar Zahlen zu drücken, wird
nichts passieren, da dies
das Maximum ist , das ich verwenden darf. Das ist es also für die q-Doppelwert-Daten. Lassen Sie uns nun zu einigen anderen Funktionen übergehen. Wir haben auch eine Zeile hinzugefügt oder eine Eingabe für Passwörter. In diesem Fall können wir sagen, dass wir eine neue Q-Zeilenbearbeitung
benötigen. Und darin werden wir einen festgelegten Eco-Modus erstellen. Und wir werden die Q-Zeile verwenden und dieses Passwort hinzugefügt. Und danach können wir es dem Standardlayout hinzufügen. Es wird der dritte sein. Und wir werden rudern, und das ist Empathie. Wenn ich das jetzt mache, kriegen
wir so etwas. Wenn ich jedoch in
diese Eingabe- oder Q-Zeilenbearbeitung tippe , wird
es nicht angezeigt, da es sich um ein Passwort handelt, das nicht angezeigt werden soll. Eine andere Funktion wäre der schreibgeschützte Text. Und
lassen Sie mich in diesem Fall einfach eine Eingabe für erstellen und es wird eine Q-Zeile bei zwei sein. Also erstelle ich Warteschlangenzeilenbearbeitung. Und natürlich werden wir schreibgeschützt setzen. Es wird gleich wahr sein. Wenn ich jetzt weitermache und es hier hinzufüge, Formularlayout, aber füge Zeile hinzu. Wir werden die Eingabe für hinzufügen. Was wir jetzt tun werden, ist das einfach noch einmal auszuführen. Und wir sehen hier nichts, aber wir können es versuchen. Wenn ich also das Label oder der SAT in dieser Folienbearbeitung festlege, können
wir Aufgaben schreibgeschützt einsetzen. Schließe diesen Lauf. Wie wir sehen können, haben wir dies als
schreibgeschützt verstanden und können nicht direkt darauf
hineingehen, weil wir die schreibgeschützte Funktion auf „true“ gesetzt haben. Und dies erlaubt dem Benutzer nicht, diesen Text hier hinzuzufügen oder zu ändern. Jetzt haben wir auch einige andere Funktionen. Wenn wir zum Beispiel
den Text und die Eingabe sehen möchten , können
wir ihn mit Eingabe für den Text ausdrucken. Wenn ich also weitermache und das durchführe, werden
wir so etwas schreibgeschützt bekommen,
was darauf hinweist, dass dies eine Eingabe für erkennt. Eine andere Sache, die zu
beachten ist, ist die Schriftart, die wir verwenden. Sie können also die Schriftart und die Pixelgröße ändern. Und eine Möglichkeit, dies zu tun, besteht darin, einfach die Set-Funktion zu verwenden. Und Sie müssen die Schriftart und die Schriftgröße angeben. Zum Beispiel werden wir hier 12 und Arial verwenden. Wenn ich weitermache, führe das noch einmal aus, wir werden es bekommen, also hier haben wir einen Fehler. Lass es mich einfach überprüfen. Ordnung, also hier in dieser Schriftart müssen
wir hier eine Warteschlangenschrift erstellen oder verwenden. Und jetzt sind wir gut, lass mich nochmal laufen. Und ja, das ist also die Schriftart und die Größe ändert sich von früher. Das war's also. Im Grunde haben wir so viele Methoden und Funktionen in dieser Bearbeitungszeile, aber dies sind die wichtigsten, die wir in unserem Kuchen verwenden
könnten, könnten später fünf Anwendungen haben. Davon abgesehen ist dies das Ende des hinzugefügten Videos in der Warteschlange. Wir sehen uns im nächsten.
10. Radio: Alles klar, also werden wir in diesem Video
eine andere Klasse besprechen , die die Q-Radio-Button-Klasse ist. Lassen Sie mich dazu einfach ein Skript erstellen. Ich nenne es mit dem Optionsfeld „Q“. Und was wir tun werden, ist dasselbe zu erstellen oder zu importieren , was wir zuvor gemacht haben. Dann werden wir eine Anwendung erstellen. Und ich werde dafür ein Widget verwenden. Also nenne ich es W. Und vielleicht
kopiere ich das einfach von hier aus mit all diesen. Also lass es mich einfach hier weitermachen. Und wir setzen q, was es ist, und wir kriegen. Also wenn ich das hier durchführe
und wir Python kriegen, bewertest du deinen Button Dot Py. Wir werden so etwas bekommen, was ein leeres Fenster ist. Was wir jetzt tun werden, ist unsere Buttons zu erstellen. Und in diesem Fall wird es das Optionsfeld Typ q geben. Also Button 1 wird das Optionsfeld Q sein. Und ich nenne es zuerst. Was Into wird dann auch das Optionsfeld Q sein. Und dies wird die zweite sein. Was wir jetzt tun werden, ist eine Art
Box zu erstellen, in der wir sie zusammenfügen können. Und normalerweise kommen Optionsfelder horizontal. Was wir also tun werden, ist, ein Feld zu erstellen, das mit dem QH-Box-Layout horizontal
ist. Und wie wir sehen können, nachdem
wir diese Schaltflächen erhalten haben, werden wir sie einfach über
die Funktion „As“ in die Box einfügen . Und wir werden Button 1 hinzufügen. Dann fügen wir auch Button hinzu. Und natürlich, nachdem wir damit fertig sind, werden
wir das einfach noch einmal ausführen. Bevor wir dies jedoch tun müssen, müssen wir nach dem Erstellen dieser Schaltflächen einfach die
Verzögerung aus unserem Widget oder unserem Fenster in dieses Feld setzen . Wie macht man das? Wir verwenden die set-Layout-Funktion aus den Schlüsselwörtern, der Klasse, und wir werden es auf dieses Feld einstellen. Wenn ich jetzt weitermache und das schließe, führe es noch einmal aus, wir werden etwas Ähnliches bekommen. Wir haben zwei Knöpfe. Erstens, zweitens, und weil es sich um ein Optionsfeld handelt, können
wir nur eines auswählen. Also werden wir zwischen ihnen wechseln. Was wir jetzt tun werden, ist einen von ihnen einzustellen. Und wir werden in diesem Fall den ersten Knopf setzen, um das zu tun, können wir einfach das S überprüft verwenden. Es ist also eine Funktion, in der Tat ein Optionsfeld. Und ich setze es auf wahr. Und wenn ich jetzt weiterfahre, kriegen wir
wieder etwas. Okay, also haben wir einen Fehler. Also verwende ich einen solchen Akt anstelle von Es geht. Jetzt lauf, wir werden die erste Sekunde bekommen, und dieses Mal haben wir von Anfang an den ersten Satz. Was wir jetzt tun werden, ist einfach eine Funktion zu erstellen, um zu wissen, welche Schaltfläche gerade gerade Chat ist. Um das zu tun, beginnen
wir mit der Erstellung und D-Funktion, benennen
wir es, vielleicht nur die radiale Funktion. Der Einfachheit halber lege ich es hier hin. Also haben wir Funkfunktion. Und diese Funktion ist dafür verantwortlich zu wissen oder uns mitzuteilen, welche Schaltfläche überprüft wurde. Also wird es Button als Parameter nehmen. Und es wird dauern, oder es wird überprüft, ob der Text der ersten Schaltfläche entspricht, die zuerst ist. Wenn es also gleich dem ersten ist, werden
wir drucken, dass dies zuerst die ausgewählte Schaltfläche ist. Und wenn das nicht der Fall ist, dann ist es sicherlich der zweite. In diesem Fall werden wir als
Sekunde die ausgewählten Schaltflächen drucken . Um diese Funktion zusammenzuführen oder diese Funktion mit unseren Schaltflächen zu verwenden, müssen
wir tatsächlich die umgeschaltete, meine Methode und unsere Optionsschaltfläche tun. Um das zu tun, aber wir müssen
hier tun , Button 1 Punkt hinzuzufügen, um
Punktverbindung mit
der gerade erstellten Radialfunktion zu verbinden . Wir werden Lambda benutzen. Und es wird deine Funktion erstellen und es wird den unteren Parameter haben. Wir werden genau das Gleiche für Button 2 machen. Wir werden Lambda benutzen, oder? Du funktionierst. Und in diesem Fall wird es einen Knopf brauchen. Was wir hier gesagt haben, ist, dass wir prüfen müssen, ob der Button umgeschaltet ist. Wir werden diese Funktion mit Button
1 ausführen , um zuerst die ausgewählte Schaltfläche zu drucken. Und wenn Button 2 der umgeschaltete ist, werden wir drucken. Zweitens ist die ausgewählte Schaltfläche, weil wir sie als Parameter
angegeben haben . Und wir müssen noch eine weitere Sache beachten und auf die wir in unserem Code achten müssen, ist, dass
wir, wenn Sie zwischen diesen beiden Schaltflächen wechseln, entweder von eins zu zwei oder zwei zu eins wechseln. Diese beiden Funktionen werden also ausgeführt. Und in diesem Fall werden wir
zunächst prüfen, ob die Erkennungen zuerst gleich sind. Dies bedeutet, dass dies unsere erste Funktion oder unser erster Button ist. Und in diesem Fall müssen
wir
überprüfen, ob der Button aktiviert ist. Wenn dies der Fall ist, drucken
wir, dass diese Schaltfläche ausgewählt ist, und wenn nicht, drucken wir, dass sie nicht ausgewählt ist. Wie macht man das? Wir können einfach prüfen, ob dieser Button aktiviert ist, wir verwenden das Objekt genau hier. Wenn also b überprüft wird, werden
wir sagen, ob das stimmt, wir werden dieses drucken. Und wenn das nicht der Fall ist, drucken
wir das aus. Erstens wird die Auswahl deaktiviert. Das Ausgewählte. Und wir werden genau das Gleiche machen. Wenn also b aktiviert ist, werden
wir drucken, dass dies die ausgewählte Schaltfläche ist. Und wenn dies nicht der Fall ist, werden
wir die Sekunde drucken, die ausgewählt ist. Was wir hier tatsächlich gemacht haben, ist, dass bei
jedem Drücken eines Optionsknopfes diese beiden Funktionen kalt werden, weil wir von einem bis zwei Stunden von zwei auf eins gehen. Und
wenn diese beiden Funktionen kalt werden, beginnen
wir natürlich wenn diese beiden Funktionen kalt werden, mit Button 1, der genau hier ist. Nehmen wir an, ich bin auf Knopf eins und ich habe hier rechts auf die zweite gedrückt. Was wir tatsächlich getan haben, ist diese beiden Funktionen genau hier
aufzurufen. Und diese beiden Funktionen werden mit den spezifischen Parametern
aufgerufen. Also hier haben wir unseren Knopf, einen genau hier, also lass ihn mich hier haben, okay? Alles klar, also kriegen wir Button 1 hier. Und es wird prüfen, ob der Text zuerst gleich ist. Ja, das ist es. Es wird in diesen Zustand gehen. Jetzt werden wir prüfen, ob B überprüft wird. Beachten Sie, dass dies nicht der Fall ist , da Button 1 nicht aktiviert ist. Wir haben von der Schaltfläche umgeschaltet, möchten den Button 2 machen, der jetzt überprüft wird. Knopf 1 ist also nicht eingestellt. Wir werden zuerst drucken wird nicht ausgewählt. Dann gehen wir in die zweite Funktion ein, das ist diese. Button zwei, wir werden Button als Parameter bekommen. Also werden wir
diese Bedingung eingeben und prüfen
, ob Button 2 aktiviert ist. Wenn dies der Fall ist, was stimmt, bringen
wir diese Sekunde mit der ausgewählten Schaltfläche. Lassen Sie uns also testen. Wenn ich jetzt weitermache und diesen Code ausführe, werden
wir das bekommen. Und so können wir sehen, dass wir es jetzt zuerst sind. Wenn ich auf Sekunde drücke, sehe
ich, dass zuerst deaktiviert ist, zweitens ist die Taste ausgewählt. Wenn ich jetzt noch einmal auf drücke, werde
ich den zweiten SD auswählen. Zuerst ist die Schaltfläche ausgewählt. Und das liegt daran diese beiden Funktionen ausgeführt werden. Das ist es im Grunde genommen für den Warteschlangen-Push. Entschuldigung, das ist die Heilungsrate, die Sie knöpfen. Und wir haben viele Methoden in dieser Klasse, aber wir werden uns an diese halten. Davon abgesehen ist dies das Ende dieses Videos. Wir sehen uns das nächste.
11. Check: Hallo und willkommen zurück. In diesem Video werden wir eine neue Klasse besprechen , die dQ Checkbox-Klasse ist. Und diese Klasse wird dem Optionsfeld Warteschlange sehr ähnlich sein. Lassen Sie mich das einfach kopieren. Und natürlich beginnen wir mit einem Q Widget genau hier. Also werde ich die App haben. Dann müssen wir aussteigen. Und natürlich müssen wir das zeigen. Das war's also. Im Grunde können wir so anfangen. Was wir jetzt tun werden, ist unsere Buttons zu erstellen. In diesem Fall wird das Kontrollkästchen vom Typ sein. Also Button 1 wird q
Checkbox sein und es wird als
erster Button zu Q-Scheckbüchern benannt . Und das wird an zweiter Stelle sein. Jetzt werden wir sie einfach wie zuvor zu einer QH-Box
hinzufügen. Also werde ich Box Q H Box-Layout emittieren. Und es wird diese beiden Schaltflächen haben, Seifenkasten, die Widgets hinzufügen, Button eins. Und dann werden wir auch Button hinzufügen. Danach werden wir das Layout
unseres Widgets in dieses Feld setzen . Wie Sie jetzt sehen können, wenn ich dieses Python-QC ausführe, aktivieren Sie das Pi. Und wir kriegen so etwas. Und ich kann diese überprüfen und sie so oft deaktivieren, wie ich möchte. Was wir jetzt tun werden, ist
eine Funktion zu erstellen , die uns wie zuvor mitteilen lässt, ob diese Schaltfläche das einzige Tag ist
oder ob sie ausgewählt oder deaktiviert ist. Und um das zu tun, mache
ich genau das Gleiche wie zuvor. Also nenne ich es ausgewählt oder nicht. Und diese Funktion nimmt eine Schaltfläche auf und überprüft den Status oder den Text dieser Schaltfläche. Also Knopfpunkt txt. Wenn dies gleich dem ersten ist, bedeutet
dies, dass dies der erste Button ist. Und wir werden prüfen, ob der Button wie zuvor aktiviert ist. Und wenn dies der Fall ist, also wenn dies der Fall ist, dann werden wir einfach drucken, dass zuerst ausgewählt wird. Und wenn dies nicht der Fall ist, drucken
wir das zuerst aus. Ist das ausgewählt. Danach. Was wir tun werden, wenn dies nicht der Fall ist, werden
wir auch prüfen, ob der zweite Knopf aktiviert ist. Wenn also der Button, dass x nicht gleich zuerst ist, bedeutet
dies, dass wir auf der zweiten Schaltfläche sind. Und in diesem Fall werden
wir prüfen, ob dieser Button aktiviert ist. Wenn dies also Zerfall ist, wird diese Sekunde
drucken ausgewählt. Und wenn das nicht der Fall ist, Jen, drucken Sie
einfach diese Sekunde aus. Alles klar, also denke ich, dass es uns gut geht. Jetzt müssen wir diese Funktion nur noch in unsere Buttons aufnehmen. Und wie zuvor werden wir eine Methode
verwenden, die umgeschaltet ist. Wir werden jedoch
auch eine andere Methode verwenden , bei der der Status geändert wird. Für Methode oder Schaltfläche eins verwenden
wir den Button 1-Punktstatus geändert, und wir verbinden ihn dem Select oder nicht mit Button 1 als Parameter. Und Button 2, wir werden es so umschalten lassen. Und wir werden
diese Funktion hinzufügen, die die connect-Methode verwendet. Wir werden select hinzufügen oder nicht. Und es wird Button 2 dauern. Wenn wir jetzt diesen Code ausführen. Also lass mich einfach hierher gehen und es laufen lassen, oder? Wir haben also einen Fehler in Zeile 31. Und es sagt dieses Argument ein unerwartetes NoneType. Okay, also was wir hier sagen ist, dass wir den Button haben, aber in wählen Lambda. Also lass mich weitermachen und benutze es hier. Und jetzt lasst es uns nochmal laufen lassen. Und wie Sie sehen können, haben wir unsere erste Sekunde. Und dieser Fall, wenn ich auf Durst drücke, wird
zuerst ausgewählt, wenn ich auf den
zweiten drücke , wird der zweite ausgewählt. Was wir jetzt auch tun können, ist, wenn ich noch einmal auf die zweite Stelle drücke, ist es nicht ausgewählt. Um es also ein bisschen mehr zu erklären, Broadway, und ich werde es tun, lassen Sie mich das einfach bis hierher
bewegen. Und was wir tun werden
, ist es von Anfang an zu betrachten. Also haben wir zuerst nichts, also lass mich einfach damit anfangen. Wie wir sehen können, wenn ich zuerst auf drücke, wird die Taste eins diese Funktion mit Button 1 aufrufen. Es wird hierher kommen, und es ist tatsächlich gleich dem ersten. Also werden wir das eingeben und prüfen, ob Button 1 aktiviert ist. Wenn dies der Fall ist, dann werden
wir das zuerst auswählen. Wenn dies nicht der Fall ist, werden
wir drucken, dass zuerst deaktiviert ist. Danach werden wir
dieses eine Mal ausführen, weil wir nicht zwischen den beiden Schaltflächen wechseln, einfach dieselben Schaltflächen ändern oder auswählen und deaktivieren. Wenn ich also auf diesen drücke, bekomme
ich gegen das Ausgewählte. Jetzt, wenn ich eine Sekunde präsentiere, werde
ich die zweite auswählen,
weil es zwei verschiedene Knöpfe
mit zwei verschiedenen Zielen oder Zielen sind . Sie mögen also
die Optionsfelder der Warteschlange nicht , mit denen wir zuvor konfrontiert waren, hier versteckt, wir haben sie wie zwei verschiedene Schaltflächen und sie sind nicht miteinander verwandt. Das ist es im Grunde genommen für das Q-Kontrollkästchen. Dies ist nur eine grundlegende Idee darüber, wie man
sie benutzt und was wir damit machen können, wie man sie auswählt und abwählt und genau
weiß, welche Schaltfläche oder ein Kontrollkästchen tatsächlich
ausgewählt ist oder nicht in in diesem Fall. Das ist es im Grunde genommen für dieses Video. Wir sehen uns im nächsten.
12. Combo-Box: Alles klar, also hallo und willkommen zurück. In diesem Video werden wir über
die QC-Kombinationsbox-Klasse sprechen . Zunächst einmal zwinge ich einfach alles auf, was wir früher gemacht haben. Und dann beginnen wir mit dem Erstellen der Anwendung wie gewohnt. Wir haben also die Q-Anwendung, die die Parameter annimmt. In Ordnung, also geht's uns gut. Dann werden wir unsere Warteschlange bauen, die bei, also Q, die die Variable w sein wird. Dann werden wir sie einfach zeigen. Und natürlich werden wir
das System beenden, indem wir die App ausführen. Das ist also unsere Basisanwendung. Beginnen wir nun mit der Erstellung der Gurkenbücher. Und im Grunde ist die Gurkenbox
die Schachtel , die mehrere Auswahlen enthält und Sie können eine davon auswählen. Lassen Sie mich also einfach damit beginnen,
die Gurkenbücher zu erstellen und sie als Kombinationsfeld zu benennen. Und in diesem Fall wäre es keine Gurkenbox. Und dann fügen wir ein paar Artikel hinzu. Also Kombinationsfeld, das Element hinzufügt. Ich füge zuerst hinzu. Dann füge ich jetzt mehrere Artikel hinzu,
die die Artikel bei Artikeln anstelle des Artikels verwenden . Und dies ermöglicht es uns, eine Reihe von Gegenständen hinzuzufügen. In diesem Fall füge ich eine Sekunde, dann den dritten, vierten hinzu. Jetzt haben wir unser Kombinationsfeld. Wir müssen es zeigen. Also lasst mich kurz vor allem. Wenn ich das ausführe, erhalten
wir einen leeren Bildschirm, weil wir dieses Kombinationsfeld
nicht zu unserem Fenster hinzugefügt haben. Eine Möglichkeit, dies zu tun, besteht darin, tatsächlich ein Q H-Box-Layout zu
erstellen. Und dann können Sie
dieses Kombinationsfeld zu den QH-Layout-Fehlern hinzufügen . Und natürlich werden wir
das Layout des Widgets auf die Speichen einstellen . Um dies zu tun, können wir einfach das Q H Box-Layout erstellen. Und was wir tun werden, ist, dies einfach zu dieser Box
hinzuzufügen. Also fügen wir das Kombinationsfeld zu unserem Feld hinzu, das als Bücher bezeichnet wird. Fügen Sie also ein Widget
hinzu und fügen Sie das gerade erstellte Kombinationsfeld hinzu. Und danach müssen wir das Layout
des Widgets unseres tatsächlichen,
nämlich W, als die Speichen einstellen des Widgets unseres tatsächlichen,
nämlich W, , die wir gerade erstellt haben. Also fügen wir ein W-Punktsatz-Layout und fügen das Feld als Layout hinzu. Das ist es im Grunde genommen, wenn ich das schließe
und es noch einmal versuche, bekomme ich so etwas. Der Anfang, dass wir unser Kombinationsfeld genau hier haben. Unsere Kombinationsbox sieht also so aus. Zum Beispiel können wir unsere Auswahl ändern. Und es wird nur eins nach dem anderen auswählen. Um dies zu ändern oder zu wissen , welche Auswahl genau ist, sind wir es. Wir können eine Funktion erstellen, die uns genau dies sagt. Also lass es mich einfach hier erstellen. Es wird ein Name sein, vielleicht die Auswahl. Und wir werden
drucken, auf welchem Index oder auf welcher Auswahl wir stehen. Und wir verwenden einfach unser Kombinationsfeld, das wir gerade erstellt haben. In diesem Fall wird es die Funktion sein, den aktuellen Index zu erhalten ,
den wir haben, und wir können über das
Kombinationsfeld oder den aktuellen Index darauf zugreifen . Dies ist also der aktuelle Index, den wir hinzufügen. Wir können hinzufügen, dass hier der aktuelle Index ist. Wir sind gerade jetzt. Und dann können wir
die eigentliche Auswahl auch mit der aktuellen Textnachricht ausdrucken . Also werden wir das ausdrucken. Die neue Auswahl ist. Und dann fügen wir einfach
das Kombinationsfeld hinzu, das aktuelle Texte enthält. Und wir verstehen es, also wenn ich das jetzt mache, kriegen
wir das , wenn ich den zweiten Platz präsentiere. Alles klar, also haben wir hier keine Eigenschaft hinzugefügt. Wir müssen es einfach die Funktion nennen wenn sich der aktuelle Index geändert hat. Wir fügen also ein Feld hinzu, das sich der aktuelle Index ändert. Wenn dies der Fall ist, müssen
wir es mit
der Auswahl verbinden , die wir gerade erstellt haben. Also machen wir es jetzt aus und probieren es aus. Ich lösche das, schließe es und öffne es noch einmal. Wenn ich nun darauf drücke, bekomme
ich zwei als aktuellen Index, in
dem wir uns gerade befinden, die neue Auswahl ist Dritter und wird für alle Fälle gleich sein, wie wir sehen können. Und so können wir diese Funktion verwenden oder das Gurkenbox-Widget , dass wir eine Ausgabe von fünf Anwendungen haben. Das ist es im Grunde genommen für die Kombinationsbox, wir haben viele andere Methoden, aber das sind die berühmtesten und am häufigsten verwendeten. Abgesehen davon ist dies das Ende dieses Gurkenbocks-Videos. Wir sehen uns im nächsten.
13. Spin Box: Willkommen zurück zu diesem neuen Video. In diesem sprechen wir über die Cube Spin Box, die wir haben, und Piketty Fire. Und es ist ein bisschen ähnlich wie die Gurkenbox, also lass mich einfach weitermachen und Skripte erstellen. Also Q Spin Box Dot py. Und wir haben, also werden wir wie zuvor
erstellen oder alles von hier aus importieren. Und dann beginnen wir mit der Bewerbung. Und es wird auch ein Widget sein. Und dann werden wir uns einfach zeigen. Das ist also unser Setup. Was wir jetzt tun werden, ist damit zu beginnen
, unsere Spin-Box zu erstellen. Und dazu können wir
zunächst einfach ein QV-Bücher erstellen , um das Layout zu sein. Also nenne ich es Feld, und es wird Q sein, das Box-Layout. Und dann werden wir einfach den Switch unter der von uns erstellten Box
erstellen. Also werde ich das Layout von w so einstellen, dass es die Funken ist. Und jetzt können wir mit unserer aktuellen Ausgabenbox beginnen. Was wir also tun werden, ist, mit der Erstellung eines Etiketts zu beginnen , das zum Beispiel für den Wert oder den Preis bestimmt ist. Lassen Sie mich es einfach mit der Bezeichnung eins erstellen. Und es wird q beschriftet sein, und es wird hier der Wert sein. Und dann werden wir dies zuerst erstellen oder zu unserer Box hinzufügen. Also boxed Widget hinzufügen. Wir werden dieses Label eins hinzufügen. Dann können wir damit beginnen, unsere Spin-Box zu erstellen. In diesem Fall nenne ich es Spin Bucks und es wird von Q Spin Bucks sein. Jetzt um Werte Disziplin hinzuzufügen, aber es wird auf dem Bildschirm sein. Was wir jetzt tun müssen,
ist, dies einfach zu der Box hinzuzufügen, die wir haben. Also fügen wir das Widget hier hinzu, also wird es zur Box hinzugefügt und jetzt können wir es anzeigen. Lassen Sie mich also einfach weitermachen und das
jetzt ausführen , um die Box zu drehen. Jetzt. Und wir kriegen so etwas. Der Standardwert ist also 0. Und Sie können den Wert so stark erhöhen oder verringern, wie Sie möchten. Wie Sie sehen können, ist dies unser Wert und dies ist unser Q-Ausgabenbus. Und natürlich, wenn wir das einfach
in die Mitte legen wollen , können
wir es einfach hier benutzen. Nach dem Erstellen der Beschriftung kann die Ausrichtung einfach so eingestellt werden, dass sie in der Mitte liegt. Also q t Punkt Ausrichtung Mitte. Und natürlich, lasst es uns wie gewohnt nochmal ausführen. So viele zwei Cluster zuvor. Und jetzt. Fahrenheit, wir können sehen, dass dieser Wert in der Mitte des Bildschirms liegt und wir haben unsere Cushman-Box, die wir daten und manipulieren
können. Das ist es also im Grunde für dq Spin Box. Wir können auch wissen, wie hoch der Wert ist. So können wir eine einfache Funktion erstellen, um dies für uns zu tun. Nehmen wir an, ich muss den aktuellen Wert wissen. Und wir können einfach drucken, vielleicht drucken Sie einfach den aktuellen Wert ist. Und dann können wir hier einfach
den Spin Bucks diesen Wert hinzufügen . Und dies wird immer dann aufgerufen, wenn wir den Wert der Spin-Box
ändern. Also werden wir den geänderten
Box-Punkt-Text ausgeben geänderten
Box-Punkt-Text und ihn mit
dem Wert verbinden , den wir gerade erstellt haben. Und jetzt, hey, müssen wir STR hinzufügen, weil der Wert eine Ganzzahl ist und wir eine Zeichenfolge anhängen. Wenn ich das jetzt mache, kriegen
wir so etwas. Das treffe ich. Jedes Mal, wenn wir den Wert der Textänderung ändern, erhalten
wir den aktuellen Wert und
gefolgt von dem Wert, den wir gerade haben, und dem Ausgabenfeld. Das ist es also im Grunde für die verbrauchte Box-Klasse. Dies ist das Ende davon. Wir sehen uns also im nächsten Video.
14. Slider: Hallo und willkommen zurück. In diesem Video werden wir eine neue Klasse besprechen, die diese DQ Slider-Klasse hat. Um das zu tun, werde ich zuerst unseren Warteschlangenschieberegler hier
erstellen. Und jetzt werden wir alles
importieren, wie wir es normalerweise tun. Also lass mich weitermachen und das machen. Und dann Bild, kopieren Sie einfach unsere Anwendung mit unserem Küchenfenster. Und schließlich schließe ich es so. Und wir sind gut, damit wir mit unserem Hue Slider-Skript
beginnen können . Was wir also tun werden, ist zuerst unseren Schieberegler zu erstellen. Und wir haben es durch zwei Formen, entweder horizontal oder vertikal. Um das zu tun, werde ich einfach hier erstellen. Beginnen wir also mit dem Schieberegler und dann mit einem Bild-Schieberegler. Und es wird wie gewohnt ein Schieberegler für Klassenwarteschlange sein. Wenn wir es nun horizontal haben wollen, werden
wir hier q t dot horizontal als Argument verwenden. Also Schärfe, nicht waagerecht. Entschuldigung. Okay, das und jetzt
werden wir eine QV-Box erstellen, um dies in dieses Feld
einzufügen und dann
das Layout des eigentlichen Fensters festzulegen , das es ist dieses Feld, das wir erstellen möchten. Um das zu tun, nenne ich es eine Schachtel. Und dieses Feld wird vom Typ q, vBox-Layout sein. Und nachdem wir den Schieberegler erstellt
haben, fügen wir ihn dem Feld hinzu. Also Feld, das Widget hinzufügt. Und wir werden diesen Schieberegler genau hier hinzufügen. Und bevor wir fertig sind, wir einfach fügen
wir einfach das Layout unseres Widgets hinzu oder legen es fest. Legen Sie das Layout als das eigentliche Feld fest, das wir gerade erstellt haben. Also wenn wir jetzt weitermachen und
einfach hochfahren und Q rutschen oder nicht scheitern, werden
wir so etwas bekommen. Und wie wir sehen können, können wir diesen Schieberegler ändern. Wir können über die Werte debattieren, die wir haben. Jetzt ist das für den Horizontalen. Wenn ich vertikal wollte, ändere ich diesen einfach in vertikal. Jetzt lass es nochmal laufen. Wir werden so etwas bekommen, was ein vertikaler Schieberegler ist. Lassen Sie uns nun diesem Schieberegler
einige zusätzliche Informationen oder zusätzliche Funktionen hinzufügen . Wir werden damit beginnen,
die Mindest- und Maximalwerte festzulegen , die wir haben können. Und dazu können wir einfach
die Funktionen verwenden , die minimal und maximal eingestellt sind. Also Slider das eingestellte Minimum. Und wir setzen es zum Beispiel auf 0, Schiebereglerpunktsatz Maximum. Und ich werde es um 10 Uhr haben, um 100, tut mir leid. Wenn ich jetzt weitermache und das mache, lass mich das einfach in Horizontal ändern. Und jetzt, wieder Ryan, genau hier,
kriegen wir so etwas wie zuvor. Und wir können die Werte momentan nicht sehen weil wir
keine Methode verwenden , die es uns ermöglicht. Wenn wir es also wollen, können
wir einige Funktionen erstellen, die wir später in diesem Video ausführen werden. Aber im Moment halten wir uns daran, das wir genau hier haben. Also haben wir jetzt unser Minimum und Maximum. Eine Möglichkeit, eine Möglichkeit zu wissen, wie oder wo wir uns auf diesem Schieberegler befinden, können
wir die Funktion verwenden, die den eingestellten Wert ist, um den Schieberegler programmgesteuert zu steuern, um vor dem Start der Anwendung einen bestimmten Wert
festzulegen. Und um das zu tun, verwenden wir den Sollwert. Ich setze es auf 50 ein. Und es sollte in der Mitte sein, denn wenn wir 0 haben, sind
dies das Minimum und Maximum und die Mitte sollte bei 50 liegen. Wenn ich also jetzt weitermache und das mache, werden
wir so etwas bekommen,
das genau bei 50 liegt. Wenn ich das jetzt auf 100 ändere und es nochmal starte, bekomme
ich so etwas. Und beachte, dass wenn ich dies zum Beispiel in eine 101 ändere und diese ausführe, es auch am Ende sein wird. Egal was passiert, der Anfangswert, wenn er größer oder kleiner
als das Minimum und Maximum ist , das wir haben, werden
sie am Rand oder am Ende von ihnen genau hier sein. Wenn ich zum Beispiel minus 52 hier platziere, bekomme
ich das gleiche Ergebnis bei 0. Das war's also. Jetzt haben wir auch einige Methoden über die Dicke, die wir haben. Jetzt können wir es genau hier sehen, aber wir können es hinzufügen. Also müssen wir
zunächst die Position der Dinge hinzufügen , die wir wollen. Also haben wir die Methode, die Deckposition eingestellt ist. Also werde ich den Schieberegler verwenden, um die Position festzulegen. Wir haben einige Funktionen, wie gesagt, und wir werden sie benutzen. So haben wir zum Beispiel den Text auf beiden Seiten. Und dies wird es uns ermöglichen, hier Texte
auf beiden Seiten zu haben . Wenn ich es also noch einmal ausführe, werde
ich Text oben und unten haben. Wenn ich möchte, dass sie gerade oben sind, benutze
ich oben Decks. Und lasst uns laufen, wie wir das obige sehen können. Und wenn wir wollen, dass sie unten sind, ist
es natürlich dasselbe. Wir können eine Zwei machen. Und wir haben auch zwei andere Dinge. Dies dauert links und Text rechts, also geht es nach links. Da wir jedoch die
Horizontale verwenden und links Texte verwenden, zeigt
es uns tatsächlich die Texte auf
der Oberseite unseres Fensters, unserer Anwendung, unseres Schiebereglers. Und wie wir sehen können, erhalten wir den Schieberegler mit unserem Text unten, wenn
wir es genau hier
für Texte verwenden , wenn
wir es genau hier
für Texte . Das war's also. Im Grunde sind dies die Methoden oder was wir für den Text haben. Was wir jetzt tun können, ist das Tick-Intervall tatsächlich festzulegen. Also lass mich einfach weitermachen und es hier machen. Ich werde einen Schieberegler haben. Aber stelle dieses Intervall ein. Ich setze es auf 10 ein. Jetzt lasst es uns nochmal laufen lassen. Wie wir sehen können, wird jedes Mal, wenn wir
ein Häkchen bewegen , 10 sein. Wenn wir dies nun auf 100 ändern und dies erneut ausführen, werden
wir nur zwei Texte sehen da der Wert gerade 100 ist. Und wenn wir dies in einen ändern, werden
wir natürlich viele Texte sehen, weil wir für jeden Tick, den wir
haben, einen Wert von eins haben. Das war's also. Grundsätzlich werden wir hören, haben hier einen gejagten Text. Dies sind einige der Funktionen, die wir im Schieberegler haben. Nun, was wir in
den Signalen in dieser Warteschlangen-Siloklasse haben , haben
wir einige Funktionen wie den geänderten Wert. Das heißt, um zu bemerken dass sich der Wert im Schieberegler geändert hat. Wir haben den Schieberegler gedrückt. Das heißt, dass der Benutzer beginnt, den Schieberegler
zu ziehen und den Schieberegler bewegt
, wenn der Benutzer
den Schieberegler gast und ihn nach rechts oder links, nach oben und unten bewegt. Und dann haben wir diesen Schieberegler freigegeben
, wenn der Benutzer
den Schieberegler loslässt und nicht mehr darin gehalten wird. Also lasst uns jetzt ein paar von ihnen benutzen. Und wir werden Connect verwenden, um es mit einer Funktion
zu verbinden , die wir zuvor erstellen werden. Also lass mich das einfach hier machen. Was ich also tun werde, ist
einfach eine Funktion zu erstellen, die genau wie der Name anzeigt, der Wert geändert
wird. Und wir werden einfach drucken, dass der Wert geändert wird. Und wir werden hier den Schiebereglerwert hinzufügen. Und jetzt geht's uns gut. Wenn ich also weitermache und Schieberegler verwende, Wert geändert, diese Verbindung und verbinde es mit der Wertänderung, die wir gerade erstellt haben. Und lasst uns das laufen lassen. Wir kriegen so etwas. Und wenn ich das ändere, werde
ich natürlich feststellen, dass der d-Wert auf den Wert geändert
wird , auf dem wir uns gerade befinden. Wie wir sehen können, ist dies eine sehr gute Möglichkeit,
den Wert, auf dem wir uns befinden,
einfach durch eine Zeile einer Funktion zu erkennen den Wert, auf dem wir uns befinden,
einfach durch . Lassen Sie uns nun zu einer anderen Methode übergehen, die die Schieberbrust
ist. Und dies wird angezeigt, wenn wir auf diesen Schieberegler drücken. Also werde ich es hier erstellen. Schiebe die Brust. Und das werden wir drucken. Der Schieberegler wird gedrückt. Und wir werden es genau hier benutzen. Also Schieberegler, dieser Schieberegler drückte Punkt
verbinden und mit der Funktion verbinden, die wir gerade erstellt haben. Schließen wir das und lassen Sie mich das
einfach auskommentieren, um unseren Schieberegler zu visualisieren. Lassen Sie mich also weitermachen und das noch einmal ausführen. Wie wir sehen können, haben wir unseren Schieberegler. Und wenn ich jetzt auf den Schieberegler drücke, haben
wir die Print-Anweisung, bei der der Schieberegler gedrückt wird. Und was auch immer ich tue, um nicht mehr wichtig zu sein, denn dies wird nur dann erkennen, wenn wir auf die Folie drücken. Und wenn ich jetzt loslasse und wieder drauf drücke, bekomme
ich es wieder. Solange ich President Net bin, wird
es sich nie ändern. Der Schieberegler wird nur gedrückt. Wenn ich jetzt loslasse und es noch einmal mache, können
wir sehen, dass es weiter drucken wird. Jetzt. Die andere Methode besteht darin zu prüfen, ob sich der Schieberegler bewegt. Also werde ich Schieberegler erstellen. Und wir werden drucken, dass sich der Schieberegler bewegt. Was wir jetzt tun werden, ist, dass die Funktion, die der Schieberegler bewegt und mit dem Schieberegler verbunden ist, um diese auf gerade erstellt zu
verschieben. Jetzt lasst uns wieder laufen. Und wie wir sehen können, ich den Entscheider zuerst ausdrücken,
wenn ich darauf werde
ich den Entscheider zuerst ausdrücken,
wenn ich darauf drücke. Wenn ich es jetzt einmal bewege, bekomme ich den Schieberegler in Bewegung. Und jedes Mal, wenn ich mich bewege werde
ich den Schieberegler bewegen. Denken Sie daran, also wenn ich darauf drücke, können
wir sehen, dass wir hier als Brust zitiert werden. Drücken Sie noch einmal darauf, ich bekomme es noch einmal. Und jetzt werde ich jedes Mal, wenn
ich es bewege , den Schieberegler bewegt,
weil er die Bewegung unseres Apfelweins erkennt. Jetzt ist die letzte Funktion,
über die wir sprechen werden, der freigegebene Schieberegler. Lassen Sie mich also weitermachen und es hier erstellen. Slider veröffentlicht. Und dies wird nur unseren Wert oder
unsere Aussage drucken , dass der Schieberegler freigegeben wird. Jetzt können wir tatsächlich zu dem Wert hinzufügen, den wir haben. Also wirklich einfach einen Mehrwert hinzufügen. Und dann fügen wir einen Schiebereglerpunktwert hinzu, um den Wert anzugeben. Wir haben unseren Schieberegler am freigegeben. Salami. Mach weiter und führe das hier aus. Und natürlich werde ich das davon abhalten, sich zu bewegen, denn 12 sind ein Hindernis, um den Release-Teil zu zeigen. Also verwenden wir diesen freigegebenen Schieberegler, verbinden ihn
nicht und verbinden ihn mit dem gerade erstellten Schieberegler. Jetzt schließen wir das. Und lassen Sie mich dieses Intervall einfach in Zehner ändern. Lasst uns rennen. Und wie wir sehen können, ist
dies unser Schieberegler und unsere Intervalle. Wenn ich mich bewege, kriegen wir, dass das Lot gedrückt wird. Wenn ich jetzt aufhöre,
wird der Schieberegler freigegeben, wird der Mehrwert hinzugefügt, und wir werden den Wert erhalten, auf dem wir uns gerade
befinden. Das ist es also im Grunde genommen, wenn ich mich ändere, werden
wir den Wert bekommen, den wir haben. Und so können wir mit
diesen Schiebereglern und ihren Funktionen und
Methoden arbeiten diesen Schiebereglern und ihren Funktionen und und eine einfache GUI erstellen , um Werte vom Benutzer zu erhalten. Das war's also. Im Grunde genommen ist dies für die Q-Slider-Klasse, aber das ist das Ende dieses Videos. Wir sehen uns im nächsten.
15. Menüleiste: Hallo und willkommen zurück. In diesem Video werden wir über
die CPU-Menüleisten-Klasse sprechen . Zuallererst haben wir unsere leere Pocket 35-Applikation. Das erste, was wir ändern müssen, ist dieses Q-Widget, da die Menüleiste tatsächlich einem Hauptfenster der Warteschlange
arbeitet. Anstatt also q Widget zu haben, haben
wir das Q-Hauptfenster genau hier. Und was wir tun werden, ist einfach
unsere Q-Menüleiste mit diesem Hauptfenster zu erstellen . Um das zu tun, nenne ich es MB und zeige die Menüleiste an. Und wir werden die W-Punkt-Menüleiste verwenden, wie wir sehen können. Was wir jetzt tun können
, ist , dieser Menüleiste ein paar Dinge hinzuzufügen. Eine Methode besteht darin, Mist hinzuzufügen. Also nenne ich es zuerst. Und wir fügen dieser Menüleiste ein Menü hinzu. Und ich nenne es vielleicht zuerst. Also wenn ich jetzt weitermache und das durchführe, tut mir leid, hier haben wir das alte Skript. Jetzt Q-Menüpunkt py. Wir werden etwas haben, das so aussieht. Wir haben unser erstes Add-Menü oder Menü, das wir gerade mit
der Menüklasse oder -Methode hinzufügen erstellt haben. Das war's also. Im Grunde ist dies das erste, was wir tun können. Was wir jetzt auch sagen können, lass mich einfach ein weiteres Menü hinzufügen. Dies wird an zweiter Stelle sein. Und lass es mich einfach schließen und nochmal laufen lassen. Ich kriege die erste Sekunde. Jetzt können wir dieser Menüleiste ein paar Dinge hinzufügen. Wenn wir zum Beispiel zuerst auf drücken, wird hier
etwas auftauchen und wir können zum Beispiel einige Befehle machen. Jetzt, da wir das zuerst hier haben, werden wir ein weiteres Menü hinzufügen. Und das wird
zum Beispiel „Datei erstellen“ sein. Dann fügen wir noch eine andere Sache hinzu, zum Beispiel Ordner erstellen. Und lass es mich einfach mal anschauen. Lauf. Wir werden das kriegen. Wann immer ich darauf drücke, bekomme
ich Datei erstellen, erstelle vorerst einen Ordner. Und sie werden nichts tun weil wir keine Funktion haben, die diese tatsächlichen Menüs
unterstützt. Was wir jetzt tun werden, ist ein paar weitere zu erstellen. Also zuerst das Menü „Hinzufügen“ werden
wir vielleicht speichern. Und dann haben wir ein weiteres Add-Menü. Und in diesem Fall nenne
ich es Save As. Wie wir sehen können, lass mich schließen. Wir kriegen so etwas. Und dieses Mal werde ich darauf drängen. Und was wir hier sehen können, ist, dass wir uns
zum Beispiel gerettet haben . Und nehmen wir an, wir müssen es
als PNG oder JPEG speichern . Und in diesem Fall müssen
wir hier
einen anderen Bus oder ein anderes Menü mit wenigen weiteren Optionen erstellen . Nehmen wir an, wir haben ein Bild, das bereit ist, es zu speichern. Wir können den Benutzer entscheiden lassen, ob wir ihn als PNG,
JPEG usw. speichern möchten . Und um dies zu tun, müssen wir unserem Menü Aktionen hinzufügen. Und wir können es tatsächlich tun, indem wir die Add-Aktionsmethode verwenden. Nehmen wir an, wir haben dieses Menü Speichern unter, ich nenne es Speichern unter. Und dann werden wir dies tun. Ich nenne es als PNG speichern und speichern Sie uns dann die Add-Aktion, speichern Sie unter j, pj. Wenn ich das jetzt noch einmal mache, kriegen
wir so etwas. Lass mich nur du ein bisschen größer werden. Wenn ich jetzt darauf drücke, sehen
wir als PNG speichern und als JPEG speichern. Wir haben also wenige weitere Optionen, bevor den endgültigen Output
entscheiden, den wir benötigen. Jetzt möchte ich das letzte, was ich hinzufügen möchte,
also lass mich es zuerst
hinzufügen, der Mist also lass mich es zuerst
hinzufügen, hinzufügt und vielleicht aufhört. Und das sollte
uns tatsächlich dazu bringen , unsere Methode unserer Funktion genau hier aufzugeben. Wenn wir also
diese stachelige 5-Anwendung haben und hier beenden, sollte
sie vielleicht einfach geschlossen werden. Lassen Sie mich also einfach eine Funktion erstellen, die das für uns tut. Also und das ist unsere Funktion. Und wir schließen einfach unser absolutes Navi. Wenn wir tatsächlich beenden wollen, müssen
wir nur eine Warteschlangenaktion erstellen. Und anstatt zuerst ein Menü hinzuzufügen und dieses einfach hinzuzufügen, werden
wir
unserer Datei oder unserer ersten Aktion hinzufügen. Aber wie auch immer wir es hier genannt haben. Was wir also tun können, ist, hier vielleicht
eine Warteschlangenaktion zu erstellen und nass zu sein. Und was wir dann tun werden, ist es einfach hinzuzufügen. Fügen Sie also Aktion hinzu, und wir werden beenden hinzufügen. Jetzt, wann immer wir zuerst einen Auslöser haben, durch diese Q-Aktion genau hier. Wenn wir also auf
die gerade erstellte CQ-Aktion drücken , verbinden
wir sie mit unserer soeben erstellten Funktion. Also lass mich einfach weitermachen und das machen. In Ordnung, also haben wir einen Fehler, der besagt , dass Argument eins eine unerwartete Aktion vom Typ Q hat. Und ich denke, das liegt daran, dass wir quit und quit benutzen. Und diese beiden, wir haben die Funktion, die
gut ist und die Variable, die auch eine Cue-Aktion ist, quit. Lassen Sie mich also einfach weitermachen und dies in WT umwandeln. Jetzt lass es mich einfach nochmal versuchen. Alles klar, also haben wir jetzt unsere Funktion. Und wenn ich zuerst weiter drücke, sehen wir „quit“. Und jetzt, wenn ich „quit“ präsentiere, wird
das Programm einfach beendet und die App wird geschlossen, weil wir
die Applet-Quit-Funktion verwenden , die wir hier haben. Das war's also. Grundsätzlich können wir auf diese Weise einige der Funktionen
und Methoden, die wir in der Menüleiste haben, beenden oder
farben . Wir haben das Menü zuerst mit der Menüleiste direkt hier erstellt. Dann haben wir ein Menü oder
einige Funktionen und Funktionen hinzugefügt . In diesem Fall sind wir Erster, Zweiter, und in diesem ersten haben
wir ein paar Befehle, die Sie
ausführen können oder der Benutzer verwenden kann. Und in diesem Fall haben wir einige von ihnen wie Datei erstellen, Ordner erstellen, speichern, speichern unter. Und sie machen gerade nichts weil wir ihnen keine Funktionen hinzugefügt haben. Aber sie sind nur hier, um zu zeigen, wie man eine sperrige Fünf-Anwendung
erstellt und wie man die Menüleiste darin verwendet. Und wir haben endlich die qt-Funktion und ich habe tatsächlich implementiert, weil ich dachte, dass es ziemlich einfach ist und eine großartige Ergänzung ist, wenn wir die Anwendung nur mit einer einfachen Codezeile
schließen wollen . Das ist es im Grunde genommen für das Kuba. Kuba haben wir einige andere Funktionen wie den Titel oder den SAT-Testsatz, die Abkürzung und das Löschen. Und sie sind ziemlich einfach. Wenn zum Beispiel, lassen Sie mich einfach das Clear hier verwenden. Wenn Sie also unsere Menüleiste haben und
die Clear-Methode verwenden und es erneut versuchen, werden
wir sehen, dass sie gerade gelöscht ist. Das war's also. Im Grunde genommen ist dies für die QC-Menüleisten-Klasse. Wir sehen uns im nächsten Video.
16. Werkzeugleiste: Hallo und willkommen zurück. In diesem Video werden wir die
Q-Symbolleisten-Klasse durchgehen und gereinigt. Wie Sie sehen können, haben
wir unsere vorherigen Einladungen, Erstellung
unserer App-Anwendung, und dann haben wir ein Fenster aus dem Hauptfenster von Q. Und wir haben die Show-Methode, um dieses Fenster zu zeigen. Und danach haben wir den Ausgang wie zuvor. Zunächst müssen
wir mit diesem Fenster eine Symbolleiste erstellen. Daher verwenden wir das q-Hauptfenster, um die Symbolleiste mit der Methode „Symbolleiste hinzufügen“ zu erstellen. Also werde ich es in der Symbolleiste benennen, und es wird mit einem Punkt Symbolleiste zu diesem Fenster hinzufügen. Und wir werden nennen, es könnte Phi sein, sagen wir mal. Was wir jetzt tun werden, ist, einige Aktionen in dieser Symbolleiste zu
erstellen. Und dazu brauchen wir ein paar Bilder. Wenn wir beispielsweise einige Dinge wie diese speichern
und beenden wollen , können wir sie hinzufügen. Lassen Sie mich also weitermachen und
diese Bilder erstellen oder besorgen und wir kommen zurück und fahren fort. Okay, also haben wir dieses Speichersymbol und wir haben auch dieses Exit-Symbol hier. Lassen Sie mich also einfach diese Aktionen erstellen. Zum Öffnen werden
wir es vielleicht offen nennen und es wird eine Cue-Action sein. Jetzt benötigt diese q-Aktion vorerst zwei Parameter. Das erste ist das dQ-Symbol, das ist eine Art Bild. Und in diesem Fall verwende ich das nach oben gedrückte PNG-Bild. Und wenn wir kein Bild haben, werden
wir einfach geöffnet anzeigen. Und dann haben wir den Ausgang. Und es wird vom gleichen Typ sein. Also beenden, Q-Aktion und Q-Symbol. Und natürlich werden wir hier
den Exit-Punkt PNG hinzufügen und dann genau hier beenden. Jetzt müssen wir diese
in die Symbolleiste einfügen , die wir gerade erstellt haben. Um das zu tun, müssen
wir die Symbolleiste aufrufen. Und dann verwenden wir die Add-Aktionsmethode. Wir werden uns summieren
und natürlich werden wir auch den Ausgang hinzufügen. Wenn wir jetzt weitermachen und das machen, kriegen
wir so etwas. Und wie wir sehen können, haben wir unseren Ausgang hier. Und das ist jedoch nicht offen, es ist sicher. Lassen Sie mich das einfach ändern, denn wir verwenden sicher statt jetzt zu öffnen, phi fahren Sie fort und schließen Sie es und führen Sie es erneut aus. Ich werde speichern und beenden, wie wir sehen können. Wann immer wir den Mauszeiger über einen von ihnen bewegen, werden
wir sehen, wofür er steht. Zum Beispiel haben wir hier geöffnet, wir haben Ausgang. Dies ist also im Grunde genommen dafür, wie Sie
eine Cue-Aktion verwenden oder wie Sie
ein Warteschlangensymbol in unserer Symbolleiste erstellen . Nun müssen Sie
einige Aktionsauslöser hinzufügen und diese in der Reihenfolge hinzufügen, damit wir
zum Beispiel von hier aus beenden können. Nehmen wir an, wir müssen aussteigen. Eine Möglichkeit, dies zu tun, besteht darin, hier einen Kredit hinzuzufügen. Also fügen wir eine Symbolleiste hinzu, die Aktion wird ausgelöst, und wir werden die Aktion, Cue-Aktion, auslösen. Und dann gefolgt von dot connect. Also verbinden wir es mit einer neuen Funktion. Ich nenne es „Exit“. Und diese Funktion wäre auch für uns verantwortlich. Raus da raus. Also nenne ich es „Exit“. Und wir werden einfach Sie beurteilen oder aufsteigen, aber kündigen. Beenden. Und wer hat das? Nun, wie wir sehen können, ,
wenn ich werden
wir so etwas bekommen,
wenn ich das mache. Wenn ich jedoch auf eines dieser Symbole drücke, werden
wir beenden, denn was wir tatsächlich getan haben, ist, dass sie angegeben hat, dass wir darauf zugreifen müssen, wenn
wir
eine Aktion haben , die ausgelöst wird . Wenn ich zum Beispiel darauf drücke, gehe ich aus. Und wenn ich diesen Code erneut ausführe und auf „Öffnen“ drücke, greifen
wir auch von der App aus zu. Und das liegt daran, dass beide Schaltflächen als Aktion ausgelöst
gelten. Eine Möglichkeit, damit umzugehen,
besteht darin, dass die gesamte Symbolleiste aktiv ausgelöst wird, wir können tatsächlich angeben, dass wir den Ausgang benötigen. Wenn also der Exit ausgelöst wird, haben wir diese Funktion, aber ausgelöst, und wir werden ihn direkt hier mit
der Exit-Funktion verbinden . Was Sie jetzt tun können, ist die App einfach zu beenden. Das ist es also im Grunde genommen
, wenn
wir diesen Code ausführen, werden wir so etwas bekommen. Wenn ich auf Speichern drücke, wird nichts passieren. Wenn ich jedoch genau hier darauf drücke, werden
wir unsere Piketty Five Bewerbung beenden. Das ist es im Grunde genommen für die Symbolleiste, dass wir n Pi-Kodifies haben. Wir haben viele Methoden wie die Add-Aktionsmethode, und wir haben sie genau hier verwendet. Jetzt. Wir haben auch das Set beweglich um die Werkzeugleiste beweglich zu machen. Und wir können es vielleicht sofort machen. Lassen Sie mich also einfach, nachdem
ich die Symbolleiste erstellt habe, gehe ich zu USD hier beweglich. Und wenn ich das noch einmal mache, müssen
wir sein wahres hinzufügen, tut mir leid. Wenn wir das machen, kriegen
wir so etwas und wir können es hier oder hier verschieben. Das war's also. Grundsätzlich sind dies die Hauptfunktionen oder die wichtigsten Methoden, die Sie in Piketty Five verwenden und die Toolbar-Klasse entfernen können. Davon abgesehen ist dies das
Ende dieses Videos. Wir sehen uns im nächsten.
17. Input: Hallo und willkommen zurück. In diesem Video werden wir über
die Q-Eingabedialogklasse sprechen , die wir in Piketty Five haben. Zu Beginn haben wir einfach
den leeren Bildschirm oder
ein leeres Fenster kopiert den leeren Bildschirm oder
ein leeres , das wir mit einem Warteschlangen-Widget erstellen können. Dann werden wir den Benutzer
tatsächlich bitten , seinen Namen einzugeben. Um das zu tun, erstellen wir
zunächst ein Formularlayout. Also nenne ich es Formular. Und wir verwenden ein Formular-Layout, um gerade eine Anzeige zu erstellen, alles drin. Jetzt werden wir einfach
eine Warteschlangenzeile erstellen , die hinzugefügt wurde, damit der Benutzer beispielsweise den Namen eingeben kann. Um das zu
tun, werden wir einfach eine Zeilenbearbeitung erstellen. Ich nenne es Zeile 1. Es wird also eine Zeilenbearbeitung sein. Und jetzt werden wir dies in unser Formular aufnehmen. Also bilden Sie Punkt, fügen Sie Widget und fügen Sie Zeile eins hinzu. Und dann werden wir das Layout
unseres Fensters so hinzufügen oder festlegen , dass es sich um dieses Formular handelt, das wir gerade erstellt haben. Wenn wir das jetzt ausführen, bekommen
wir so etwas, wo
der Benutzer alles schreiben oder tun kann, was er will. Jetzt fügen wir hier ein Label hinzu. Wir werden jedoch nicht
die Add-Label-Methode verwenden , die wir in Pike 35 haben. Wir werden tatsächlich eine Schaltfläche verwenden, um anzuzeigen, dass der Benutzer auf diese Schaltfläche drücken kann. Und dann öffnen wir ein neues Fenster, in dem der Benutzer auch seinen Namen eingeben kann. Also lass mich dir einfach zeigen, wie wir das machen können. Nach dem Erstellen der Zeilenbearbeitung. Was wir jetzt tun werden, ist einfach hier den Button
hinzuzufügen. Ich nenne es Button 1 und 2 PDF-Typ q Drucktaste. Und wir können deinen Namen eingeben. Und danach werden wir es dem Formular hinzufügen. Wir müssen es jedoch mit der eigentlichen Schaltfläche hinzufügen. Anstatt es also als Add-Widget hinzuzufügen, verwenden
wir Zeile hinzufügen. Und in dieser Reihe werden wir Button 1 und
Zeile 1 insgesamt haben . Lauf nochmal. Wir werden so etwas sehen bis zu deinem Namen und wir haben etwas hier. Wenn wir nun auf diesen Namen drücken, wird nichts passieren. Wir möchten jedoch
ein neues Fenster haben , in dem der Benutzer auch den Namen eingeben kann. Und in diesem Fall können
wir tatsächlich nur die Collect-Funktion verwenden, die wir haben. Wenn diese Schaltfläche oder wann immer auf diese Schaltfläche geklickt wird, verbinden
wir sie mit einer Funktion , die Name eingeben ist. Und wir werden ein Kriterium erstellen. Also lass mich weitermachen und es tun. Der Farn und der Name. Und in diesem Fall werden wir jetzt einfach den Q-Eingabedialog hier verwenden. Was wir also tun werden, ist den Namen und OK zu erhalten, und wir werden einen Warteschlangeneingabedialog erstellen. Und hier verwenden wir
die GetText-Methode, um einen Text vom Benutzer zu erhalten. Also werden wir benutzen, dass besteuert wird. Und dann nennen wir es einfach Input Dialog, gefolgt von hier einfach deinen Namen ein. Jetzt werden wir erklären, wofür dieser Name und/oder Caisson in einer Sekunde stehen. Aber im Moment ist FOK gleich wahr. Was wir dann tun werden, ist einfach alles,
was wir in
diesem Namen haben, festzulegen was wir in
diesem Namen haben und einen zu übermitteln, den wir haben. Also werden wir Zeile 1 Punkt setText haben die setText-Methode verwenden. Und wir werden den Namen darin speichern. Wenn wir nun weitermachen und das ausführen, richtig, also wenn ich darauf drücke, alles klar, also haben wir einen Fehler, weil wir die Warteschlange, die sich hält, nicht angegeben haben. Also verwenden wir das Ws dq Widget. Jetzt versuchen wir es noch einmal. Probieren Sie es aus. Wenn ich hier drauf drücke, kriegen
wir
so etwas bis zu deinem Namen hier. Und das ist der Titel Kaiser direkt, den wir gerade aufgeschrieben haben. Wir haben hier einen Namen eingegeben. Wenn ich also Hadi tippe und weiter drücke, okay, sehe ich es hier. Wenn ich
zum Beispiel Eunice schreibe und unterdrückt abgebrochen habe, wird
nichts passieren, weil wir angegeben haben dass wenn der Benutzer auf ein K drückt, wir den Text von Zeile
12 aus setzen , die wir drinnen haben unser Name. Ist dies nicht der Fall, wenn der Benutzer auf,
Abbrechen oder Schließen drückt ,
passiert nichts und der Name wird nicht geändert. Das war's also. Grundsätzlich soll der Benutzer gefragt werden, wie Sie
den Namen eingeben und von einem anderen zum ersten erhalten können. Nehmen wir an, wir müssen den Text in eine Ganzzahl
ändern. In diesem Fall müssen wir
den Benutzer zum Beispiel nach seinem Alter fragen . Und was wir eigentlich tun können, ist vielleicht, lass mich
das einfach auskommentieren und ich erstelle einen neuen Button. 12 wird vom Typ Q drücken und geben Sie Ihr Alter ein. Was wir jetzt tun werden, ist, diese Funktion einfach in das Alter zu
ändern. Und ich werde eine neue Funktion erstellen, die das Alter eintragen soll. Und wir werden auch alt werden. Und okay, wie zuvor werden wir
jetzt die Funktion get int
mit dem W als Widget verwenden . Und natürlich werden wir die beiden Strings haben, den Titel und das Label. Es wird also ein Eingabedialog sein und vielleicht einfach dein Alter hier eintragen. Und wenn, wie zuvor, also wenn, okay, wir werden Zeile 1 und
2 setText in das ändern , was wir in unserem Alter haben. Das ist es also im Grunde genommen, wenn
ich das noch einmal
mache, so etwas bekomme, das Alter unseres Personals
eintrete, das das haben wird. Wir können das Alter und
die ganze Zahl ändern, indem wir diese Pfeile verwenden. Und wir können es auch ändern, indem wir genau hier aufschreiben. Was wir jetzt tun können, lass mich das einfach in
STR umwandeln , denn obwohl es ein Alter ist, bekommen
wir eine Schnur zurück. Wenn ich das jetzt mache, tippen
wir einfach etwas hier ein. Und wenn ich weiter drücke, okay, kriegen wir die Nummer hier. Wenn ich jedoch storniere, wird nichts passieren. Wie wir sehen können, wird
nichts passieren, wenn ich versuche, auf die Tastatur zu schreiben wenn ich versuche, auf die Tastatur zu schreiben, da dies nur eine ganze Zahl ist. Haben sie benutzt, kann man nicht einfach alles schreiben, was er will. Und dies ist eine großartige Methode, um den Benutzer zu ermöglichen
oder anzugeben, dass der Benutzer nichts anderes als eine Ganzzahl schreiben
kann. Das ist also eine großartige Methode. Wenn ich also versuche,
etwas anderes als eine Ganzzahl zu schreiben , wird nichts passieren. Und eine Möglichkeit, dies zu verbessern, besteht darin, wie Sie sehen können, wenn ich hier
etwas tippe , sie auftauchen. Und es ist nicht praktisch, weil wir dies gerade erstellt haben, um zu verhindern, dass der Benutzer hier etwas schreibt. Und wir können diese Zeilenbearbeitung tatsächlich deaktivieren. Also werde ich Zeile eins verwenden, auf der „deaktiviert“ steht, und wir werden Drew verwenden. Jetzt mache ich weiter und führe das noch einmal durch. Wir können sehen, dass dies deaktiviert ist und der Benutzer hier etwas drücken
kann oder nicht schreiben kann. Wenn er jedoch hier schreibt, wird
es in dieser deaktivierten Zeile auftauchen. Dies ist also eine großartige Möglichkeit, um sicherzustellen , dass wir eine ganze Zahl zurückbekommen und wir uns keine Sorgen um
den Typ machen müssen , den wir bekommen. Nehmen wir an, wir haben eine Liste von Elementen und der Benutzer wird aufgefordert, eines davon auszuwählen. Und dies ist eine großartige Möglichkeit,
den Q-Zeilenbearbeitungs- oder DQ-Eingabedialog zu verwenden , tut mir leid, in diesem Fall. Was wir also tun werden, ist, den Benutzer einfach
zu bitten , vielleicht die Kategorie einzugeben. Und natürlich
verbinden wir es, um in die Kategorie einzutreten. Und wir werden die Funktion jeweils erstellen. Also haben wir Kategorie eingegeben. Und wir werden es kriegen, tut uns leid, wir kriegen die Kategorie, okay? Wie immer. Also Kategorie, okay. Und wir verwenden den Q-Eingabedialog. verwenden wir jedoch diesem Fall verwenden wir jedoch
die Funktion get item, und dies wird ein paar Parameter erfordern. Der erste wird also der Titel sein. Wie immer tut es mir leid, das Widget. Und dann haben wir den Titel. Und natürlich werden wir eine Kategorie verwenden und wählen. Und dann fügen wir eine Kategorieliste hinzu. Und natürlich fangen wir gleich hier damit an. Also nenne ich es in diesem Fall Kategorien. Und vielleicht das. Und dann haben wir zwei. So weiter und so fort. Also vielleicht wirklich, und jetzt werden wir es hier hinzufügen. Wir haben also Kategorien und wir werden den Index bei 0 haben. Und wir werden angeben, dass es falsch ist, und ich erkläre es in einer Sekunde. Aber im Moment schreiben wir einfach F, okay? Wenn der Benutzer auf drückt, okay, legen wir den Text von Zeile 1 fest. Also Zeile eins, dieser SetText. Okay, also setText zu
allem, was wir innerhalb der Kategorie haben. Und uns geht's gut. Wenn ich jetzt das hier ausführe
und eine Eingabetenkategorie drücke, bekomme
ich so etwas. Wir haben eine Kategorie gewählt. Wenn ich drauf drücke, bringe
ich die eine Katze dazu, drei zu kriegen. Und ich kann zwischen ihnen wählen. Nun, wenn ich den Index hier ändere, nehmen
wir an, ich habe es am Index, um das noch einmal auszuführen Wir werden so etwas bekommen, was
darauf hinweist, dass wir mit
drei statt Katze eins beginnen werden wie zuvor. wir nun eine Kategorie aus und Wählen wir nun eine Kategorie aus und drücken Sie weiter. Okay? Und wie Sie sehen können, können wir es genau hier sehen, Kategorie 2. Das ist es im Grunde genommen für den Q-Eingabedialog. Wir haben viele andere Eingaben oder nicht einige andere Funktionen. Und eine ähnliche Funktion wie
die Get Integer besteht darin, doppelt zu werden. Wir können es implementieren, aber ich glaube nicht, dass es viel anders ist als nur eine ganze Zahl. Wir können damit beispielsweise ihr Gehalt schreiben. Und wir können einfach umsetzen. Und wir können auch die Eingabe oder
die Eingabe des Benutzers in unserer Zeile 1 bearbeiten speichern . Wir haben also viele Methoden. Und dies sind die wichtigsten , die Sie über die dq Input Dialog-Klasse wissen sollten. Davon abgesehen ist
dies das Ende dieser Klasse. Wir sehen uns im nächsten.
18. Schriftart: Hallo und willkommen zurück. In diesem Video werden wir über
die Q-Font-Dialog-Klasse in unserem Opfer sprechen . Lassen Sie mich also einfach mit dem
Erstellen des Gutschein-Dialogs beginnen . Und was wir tun werden, ist das alles
einfach wie gewohnt zu kopieren . Und danach werden wir die Anwendung kopieren, gefolgt von dem WHO-System, das am Ende beendet wird. Was wir jetzt tun werden, ist damit zu beginnen, lass mich diese einfach schließen. Und wir werden damit beginnen, einige Druckknöpfe
und die tatsächliche Steuer zu erstellen , die wir haben müssen. Um das zu tun, fange ich an eine Schachtel QV-Box
zu erstellen. Wir werden es in einer Minute benutzen. Q V Box-Layout. Und was wir dann tun werden, ist einen Button zu erstellen,
einen von q Push Button. Und das wird die Schrift sein. Wählen Sie also bitte die Schriftart aus, die Sie verwenden möchten. Zum Beispiel. Danach werden wir eine Funktion erstellen, die gerade aufgerufen wird, wenn wir auf diese Schaltfläche klicken. Also werden wir das verwenden, sammeln diese Verbindung zu einer Funktion. Ich nenne es set font, oder? Also werde ich es hier erstellen. Stellen Sie also die Schriftart ein, und wir werden uns später damit befassen. Aber im Moment werden wir einfach damit fortfahren. Also füge ich das Widget hinzu. Also werde ich hinzufügen Button wollte eine Box. Und dann sitzen wir, wir werden einfach das Layout
unseres Widgets so einstellen , dass es sich um diese eigentliche Box handelt, die wir haben. Um mit
unserer soeben erstellten Set-Font-Methode fortfahren zu können, müssen
wir tatsächlich den Queue-Font-Dialog
verwenden, den wir haben. Und dies ermöglicht es uns,
die Schriftinformationen vom Benutzer zu erhalten . Lassen Sie mich vorher einfach sagen, dass wir die Schrift von etwas wollen. Dafür hätten wir zum Beispiel die Set-Font-Funktion verwenden können, die wir haben, und wir können sie auswählen. Lassen Sie mich Ihnen hier einfach ein Beispiel geben. Ich erstelle ein Label. Und es wird von Q-Label sein. Und in diesem Label werde ich
zum Beispiel das erste Label haben . Und danach werde ich die Schriftart
so einstellen ich eine Fläche und vielleicht 25 Pixel brauche. Wenn wir jetzt weitermachen und es ausführen, geben
Sie einfach Python-Coupon-Dialogpunkt py ein. Wir kriegen so etwas. Und wenn ich darauf drücke, wird
nichts passieren, weil wir die Funktion, die wir haben,
nicht wirklich erstellt haben. Also lass es mich einfach nochmal laufen lassen. In Ordnung, also haben wir einen Fehler weil wir hier eine Warteschlangenschrift vergessen haben. Und jetzt sollten wir gut sein. Und wieder kriegen wir so etwas. Und wie wir sehen können, ist
das okay, aber wir haben das
nicht wirklich in unsere Box aufgenommen. Also lass mich einfach ganz schnell hinzufügen. Fügen Sie also ein Widget hinzu und wir verwenden das Label. Und schließlich, wenn ich es noch einmal führe, werden wir es sehen. Dies ist die erste Arbeit und sie
ändert sich eindeutig mit der Schriftart, die wir hier platzieren. Wenn ich zum Beispiel 13 platziere und renne, können
wir sehen, dass dies
das erste Label ist, das jetzt tatsächlich kleiner ist als zuvor. Und da dies daran liegt, dass
wir die Schriftart ändern, ermöglicht der
Dequeue-Schriftdialog es uns jetzt , dies zu tun, ohne die gesetzte Schriftart dynamisch verwenden zu müssen, können
wir den Benutzer die tatsächliche Schriftart auswählen lassen. Also werden wir diese Funktion aufrufen, das ist die gesetzte Schriftart. Und innerhalb dieser Funktion
beginnen wir damit in der Schrift. Und okay, aus dem Warteschlangen-Fonds-Dialog, den wir haben, und den Telefondialog. Wir haben nichts drin. Und F, Okay, wie immer werden
wir das Label, das wir haben,
das als gleich der Vorderseite des Labels gekennzeichnet ist, so einstellen , dass es der Schriftart entspricht, die wir gerade bekommen. Also das ist es im Grunde genommen, dass wir diese Methode haben. Und wenn ich jetzt weitermache
und wir vergessen haben, die Get Found-Methode hinzuzufügen. Lassen Sie mich also einfach schnell und jetzt weit
laufen, nochmal laufen und präsentieren Sie es. Wir werden die Select-Schriftart erhalten. Und dies ermöglicht es dem Benutzer, aus
all den verschiedenen Schriftarten auszuwählen , die wir hier haben. Und der Font-Style, regulär, alt fett und die Größe haben
wir auch unterstrichen, was wir brauchen. Schreibsystem, griechisch, alle Schreibsysteme sind verfügbar. Und das war's. Grundsätzlich können wir
den Benutzer auf diese Weise die Schriftart auswählen lassen , die er benötigt. Wenn wir nun auf drücken, okay, das passiert und wenn ich auf,
abbrechen, wird die gesamte Einstellung
der Schriftaktion abgebrochen . Das ist es also im Grunde für die SAT-Telefonklasse. Der Coupon-Dialog, den wir in Piketty Five haben. Ich dachte, dass es eine großartige Klasse ist, die verwendet werden kann, besonders wenn der Benutzer
ein bestimmtes Telefon betreten muss . Und die Verwendung dieser Methode ermöglicht es uns,
eine echte Schriftart zu erhalten , anstatt möglicherweise einige Fehler oder Fehler des Benutzers, die gemacht werden können. Und hier sollte er immer
eine und die prägnante Stilschrift auswählen . Wir können die Effekte natürlich hinzufügen, und er kann die Ausgabe immer vorher sehen. Einfach endlich auf den Okay Knopf drücken. Das war's also. Im Grunde ist dies unsere Coupon-Direktklasse. Wir haben einige andere Methoden darin, aber das ist die gerechte, wichtigste, die wir verwenden
können, und unsere Piketty Five Anwendungen von nun an. Davon abgesehen ist dies das Ende dieses Videos. Wir sehen uns im nächsten.
19. Datei-Dialog: Hallo und willkommen zurück. In diesem Video werden wir die Klasse
des Warteschlangendateidialogs besprechen . Also lasst uns weitermachen und unser Skript erstellen. Ich benenne Warteschlangendatei, Dialog, Punkt py. Und ich werde all
diese Importe und dann die Anwendung kopieren . Dann schließlich das Beenden und die Ausführung der App. Beginnen wir jetzt mit dem Bau einer QV-Box, die wir später benutzen werden. Also werden wir ein QV-Box-Layout haben. Und das wird uns helfen, oder hier werden wir
unsere Dateidialoge speichern , die wir
später in unserer Piketty Five-Anwendung erstellen werden. Lassen Sie uns also fortfahren, indem wir einige Drucktasten hinzufügen. Also schreibe ich weiter und schreibe Button 1. Es wird q Push Button sein und vielleicht einfach ein Bild wählen. Und jetzt werden wir dies mit
einer Methode verbinden, von der wir das Bild abrufen werden. Also hat b21 dot auf die Verbindung geklickt. Und wir werden es verbinden, um vielleicht ein Bild zu bekommen. Und wir werden eine Funktion erstellen, um das Bild von Sean zu bekommen und viel zu bekommen. Und darin werden wir unseren Warteschlangendateidialog
verwenden. Also werden wir den Image-Namen bekommen. Und wir verwenden
den Dialog zur Warteschlangendatei, um das Bild zu extrahieren. Also werden wir das W als Widget haben. Und dann werden wir das vielleicht einfach anhängen lassen. Und hier müssen wir unseren Weg hinzufügen. Also kopiere ich es sofort. Danach müssen wir genau
den Typ der Bilder angeben . Ich gehe mit dem PNG. Um das zu tun, musst
du es so schreiben. Und lass es uns schließen. Und das ist es im Grunde. Was wir im Grunde tun können, ist dies
zu bekommen und es vielleicht einfach in eine Form von
Etikett oder Bild zu
kopieren , die wir später einfach erstellen können. So können wir den Warteschlangendateidialog verwenden. Lasst uns weitermachen. Kopieren wir das in ein echtes Etikett, das wir auf See haben können. also Button 1 haben, erstellen
wir zum Beispiel Label eins. Und es wird vom Typ q beschriftet sein. Und vielleicht ist das nur ein Label. Und dann werden wir sie
einfach der Box hinzufügen , in der wir gerade
eine Schaltung erstellen, um Widget-Button 1 hinzuzufügen. Und dann fügen wir ein weiteres Widget hinzu, das das beschriftete ist. Und natürlich müssen wir das Layout unseres Fensters festlegen. Nun, das mussten die Funken sein, die wir gerade geschaffen haben. Lasst uns jetzt weitermachen und das
vor Lincoln zu irgendetwas führen . Also Q5, Dialogpunkt py. Wir können sehen, dass wir dieses Label haben und wir müssen genau hier ein Bild auswählen. Wenn ich jetzt darauf drücke, können
wir nichts sehen, weil wir
die Funktion nicht benutzt haben, die den Namen der gut Open Dateiname ist. Und jetzt sollten wir gut sein. Wenn ich das noch einmal mache, kriegen
wir so etwas. Und es ist gerade geöffnet. Dies ist unser Weg und wir haben den Ausgang und speichern dieses PNG. Und das ist es, was wir für einen Match-Dateien Punkt PNG gewählt haben. Was wir jetzt tun werden, ist dieses Bild einfach zu bekommen. Wenn ich mich also für diesen entscheide, wird
nichts passieren, weil ich es einfach ausgewählt und es und den Bildnamen speichere und es nicht wirklich benutzt habe. Was ich jetzt machen werde, ist das Label eins festzulegen. Also werden wir Text festlegen oder das Plasma einstellen, weil dies ein Bild ist und so können
wir es einrichten, wann immer wir ein Bild verwenden möchten. Und wir werden es so einstellen, dass
die Auswahlkarte des Image-Namens, den wir gerade bekommen haben. Wenn ich das jetzt noch einmal mache, kriegen
wir so etwas. Ich wähle dieses Bild zum Beispiel aus. Und wir haben ein Arabisch als Bildname als Tupel. Also lasst uns weitermachen und es ausdrucken. Und wenn ich das durchführe
und versuchen, das zu benutzen, können
wir sehen, dass wir das zurückbekommen. Wir brauchen jedoch nur den ersten Teil, der in diesem Fall bei 0 ein guter Name ist. Und ich denke, wir sollten gut sein. Lass uns weitermachen und es nochmal ausführen. Und wenn ich jetzt vorgehe und entscheide, alles klar, also haben wir es hier. Das ist also unser Bild, das es von hier aus zeigt. Und jedes Mal, wenn wir ein anderes Bild ändern oder wählen, werden
wir bekommen, was wir wollen, und es wird in unserem Label verkauft. Wie wir sehen können, haben wir bereits vordefiniert, dass wir nur
die PNG-Fotos brauchen . Nehmen wir an. Ich habe getippt, Hey hier, JPEG und ich habe angegeben, dass dies der Pfad ist, den ich will. Wenn ich nun diesen Code ausführe, werden
wir hier kein Bild finden da wir keine Bilder für den Typ von JPEG haben. Wir haben nur das PNG in diesem Ordner. So können wir das PNG sehen , weil die einzige Datei als JPEG zulässig ist. Das ist es im Grunde genommen für den Bildspeicherprozess. So können wir einfach ein Bild
auswählen und es extrahieren lassen, es
vielleicht in unserem Kuchen verwenden, reinigen oder irgendetwas anderes damit machen. Das ist also im Grunde genommen für das Bild. Gehen wir weiter und fahren mit der Textdatei fort. Nehmen wir an, wir haben eine Punkt-TXT-Datei, in der wir
einige Informationen extrahieren und in unserer letzten 35-Anwendung anzeigen müssen . Also lasst uns weitermachen und es genau hier machen. Ich werde diese einfach kommentieren lassen und lass uns von hier aus arbeiten. Jetzt weiter. In Ordnung, also erstelle ich einen Button eins. Und es wird ein Würfel-Druckknopf sein. Und das wird sagen, wähle eine Datei aus. Dann werden wir es mit der Methode verbinden ,
die wir brauchen. Und was GET besteuert wird, kann sein. Und jetzt werden wir das
einfach in die Box legen. Also fügen wir ein Widget hinzu. Und das ist Button 1. Und dann werden wir auch den Inhalt hinzufügen,
was im Grunde genommen ist, dass Sie es vielleicht auch ein Label machen können. Also Label eins wird von Q-Label sein. Und vielleicht fängst du damit als Label an und fügst es auch der Box hinzu. Und dann legen wir einfach das Layout so fest , dass es sich um diese Box handelt. Jetzt werden wir die Funktion erstellen, die der Darm ist. Die nächste Funktion. In dieser Funktion werden
wir nun
die Informationen aus der Textdatei extrahieren . Und wir werden den Warteschlangendateidialog wie zuvor verwenden. Lassen Sie mich also weitermachen und das schließen. Wir beginnen damit, den Dateidialog zu erstellen. Vielleicht nenne ich die Datei, die so aussieht. Und es wird vom Typ q Dateidialog sein. Und dann werden wir den Dateimodus
auf eine beliebige Datei einstellen. Also Dateidialog, der den Dateimodus festlegt. Und dies ermöglicht es uns,
den Dateimodus einfach auf jeden Phi einzustellen , den wir haben. Es spielt keine Rolle. Wir werden also jede Dateifunktion aus dem Q5-Dialog verwenden. Dann werden wir alle Dateien herausfiltern , nur um
den TXT zu haben. Also verwenden wir den Punktsatzfilter des Dateidialogs. Und dann werden wir Textdateien verwenden, um genau diese zu sein, dxdy. Und jetzt werden wir
diese einfach in eine Zeichenfolge bringen und einfach die Datei öffnen, die Daten
lesen und dann vielleicht den Text
unseres Labels als
die Daten festlegen unseres Labels als , zu denen wir gehen extrahieren Sie aus der Datei. Alles klar, um das zu
tun, werden wir damit anfangen,
vielleicht werde ich ihnen Dateien nennen. Und dies wird definiert Dialog, der Dateien ausgewählt hat. Dies wird also alle Dateien extrahieren, die wir haben. Und was wir dann tun werden, ist vielleicht die erste Datei
zu öffnen, da wir nur eine von ihnen brauchen. Also öffnen wir
die Dateien bei 0 und wir werden lesen. In Ordnung, also werden wir dies jetzt verwenden und den Text
des Labels auf Daten festlegen , die wir lesen werden. Also werden wir Defiles und String-Liste haben. Bevor ich also die ausgewählten Dateien bekomme
, muss ich
ein Warteschlangenzeichenlistenmodell erstellen . Und dies ermöglicht es uns,
alle Dateien in einer Liste der Stärken zu speichern . Und dann werden wir
sie einfach öffnen und den ersten holen und dann die Daten daraus lesen. Was wir jetzt tun werden, ist es einfach zu verwenden und die Daten von hier aus im Etikett zu
speichern. So setzen Sie den Text der Stufe 1 in diese Rasse ein. Und dies ermöglicht es uns, die Daten zu lesen und alles von hier aus zu
erhalten und in diesem Etikett zu setzen. Was wir jetzt tun werden, ist das auszuführen und es uns anzusehen. Also muss ich es hier laufen lassen. Wählen Sie eine Datei aus. In Ordnung, also haben wir einen Fehler, der besagt, dass dies in Ordnung ist, also müssen wir einen SetName-Filter verwenden. Weil dies die ältere Version war. Führen Sie es erneut aus, wählen Sie eine Datei aus. Und wir haben Listenindex außerhalb des Bereichs. Und das liegt daran, dass das Öffnen von Dateien möglicherweise zu langsam ist. Die ausgewählten Dateien, die in
dieser Stringliste gesucht werden sollen, sind möglicherweise zu langsam. Wir führen also eine Ereignisschleife aus, indem den gerade Dateidialogpunkt ausführen. Und das erlaubt uns zu warten, bis wir die Datei
bekommen, und dann können wir fortfahren. Das ist also im Grunde und natürlich sollte
dies auch in diesem sein. Alles klar, also denke ich, dass es uns jetzt gut geht, wenn wir weitermachen und versuchen, das noch einmal zu machen, werden
wir so etwas sehen. Wenn ich eine Datei auswähle, wird sie geöffnet. Und wenn ich darauf drücke und diese Datei öffne, sehe
ich sie genau hier. Dies ist die erste Datei, file.txt hallo world. Und das ist genau das Gleiche, was wir geschrieben haben und unsere file.txt genau hier. Das war's also. Grundsätzlich können wir auf diese Weise mit einer einfachen Methode, also der Queue-Dateidialog-Klasse
,
aus einer Datei extrahieren. Und was wir genau gemacht haben, ist einfach einen Button zu erstellen. Und wenn wir dann darauf drücken, können wir diese GetText-Funktion verwenden. Und in dieser GetText-Funktion haben wir den Dateidialog erstellt. Und wir geben an, dass wir jede Datei nehmen können, dann filtern wir einfach in Punkt TXT heraus. Und als wir diese Datei erhalten haben, haben wir ein String-Listenmodell erstellt in dem wir alle Dateinamen speichern werden. Und was wir dann tatsächlich getan haben, ist, diese Dateien zu erhalten und sie aus
dem Dateidialekt
in unseren Dateien zu speichern aus
dem Dateidialekt
in unseren Dateien und die erste in der Liste zu öffnen. Und natürlich
haben wir danach gerade die Daten aus dieser Datei mit der Methode
read erhalten und das Label auf
diese Daten gesetzt , die wir gerade extrahiert haben. Das ist es im Grunde genommen für diese Warteschlangendatei, sie direkte Klasse. Das ist eine sehr mächtige Klasse in Pica 35. Angesichts dessen ist dies das Ende davon. Wir sehen uns im nächsten Video.
20. Tab: Hallo und willkommen zurück. In diesem Video werden wir über
die Tab-Klasse „Warteschlange“ sprechen . Und lassen Sie mich weitermachen und
unsere Funktion erstellen , unser Skript hier. Also nennen wir es die Warteschlange. Jetzt Pi. Dann importieren wir zunächst alles
, was wir haben, aus früheren Skripten. Also mache ich das. Und dann werden wir die AP-Kriterien übernehmen. Und dann fällt schließlich. Was wir jetzt tun werden, ist,
das Widget „Warteschlange“ anstelle des eigentlichen Widgets tatsächlich zu verwenden . Und das ist etwas, was wir verwenden, wenn wir ein Top und unsere Anwendung
benötigen. Was wir tun werden, ist ein paar Registerkarten zu erstellen. Also erstelle ich zwei Registerkarten. Der erste wird T1 heißen, und dann wird der zweite T2 sein. Und sie sind beide das Queue-Widget der Klasse. Und was wir dann tun werden, ist, diese Registerkarten
einfach zu unserem Warteschlangen-Tab-Widget hinzuzufügen. Also w dot fügen Sie Tab hinzu, um zu T1 und T2 zu gehen. Und wenn wir jetzt weitermachen und dies visualisieren wollen, können
wir dies einfach bis endlich tun. Lass mich einfach hier gehen und diesen Python-Dot-Py laufen lassen. In Ordnung, also haben wir einen Fehler,
weil beim Selfcare-Widget ein STR. Also werden wir den Namen hören,
der im Grunde genommen auf 1 tippen. Und hier werden wir das Ding hinzufügen. Jetzt geht's uns gut. Lass uns weiter und wieder gehen. Und wie Sie sehen können, haben wir TB1 um zwei und wir können zwischen ihnen wechseln. Jetzt können
wir in diesen Tabs machen, was wir wollen. Aber zum Beispiel werden
wir vielleicht FirstName und LastName mit einer
Zeile hinzufügen , in der der Benutzer nur ein paar Dinge hinzufügen kann. Und um das zu tun, verwenden wir einfach die Funktion. Lassen Sie mich also gerade hier kreieren. Diese Funktion wird also tab1 heißen. Also T1 oder vielleicht TB1. Dem Argument zuliebe. Und was wir tun werden, ist einfach ein Formular zu erstellen, das q für das Layout sein wird. Und was wir als Nächstes tun werden, ist vielleicht FirstName und LastName mit einem Cula hinzuzufügen und zu bearbeiten. Also muss ich vielleicht ein Label erstellen. Also nenne ich es mit der Bezeichnung eins. Es wird von Q-Label sein. Und ich schreibe den Vornamen. Dann haben wir Q line edit. Und wir werden es Zeile 1 nennen. Es wird hier Q-Zeile sein. Und dann fügen wir diese zu einer Zeile hinzu, in der wir 1 und Zeile 1 beschriftet haben. Und dann werden wir genau das Gleiche
für den Nachnamen tun . Also q beschriftete Nachname. Und dann haben wir eine Zeile
, die wie gewohnt vom Typ q line edit sein wird. Und Staub hat gerade dem Formular hinzugefügt, das wir gerade erstellt haben. Beschriften Sie also auf Zeile 2. Ich glaube, jetzt geht's uns gut. Wir können diese einfach zu unserem Layout hinzufügen. Wie wir sehen können, ist
dies für den Tab eins. Was wir jetzt tun müssen, ist, dass wir zu t1 hinzugefügt werden. Also t1, das, und wir werden
das Set-Layout als dieses Formular verwenden , das wir gerade erstellt haben. Wenn wir jetzt weitermachen und das machen, werden
wir so etwas sehen. haben wir. Hier sind ein paar Dinge. Wir können dies jedoch nicht wirklich visualisieren da wir die Funktion nicht wirklich aufgerufen haben. Also nenne ich es gleich hier. Lasst uns jetzt nochmal laufen. Und wie Sie sehen können, haben wir unseren FirstName, LastName, in dem der Benutzer die Informationen hier eingeben kann. Und wir können hier genau das Gleiche tun. Wir können vielleicht q-Optionsfelder, Checkboxen,
vielleicht eine Dateieingabe oder irgendetwas, was wir wollen oder brauchen, hinzufügen . Das ist es im Grunde genommen für diese niedliche IF-Funktion. Wenn Sie daran interessiert sind, hier vielleicht eine zusätzliche Registerkarte zu
implementieren, füge
ich möglicherweise einige Kategorien hinzu, aus denen der Benutzer auswählen kann. Vielleicht ein Queue-Kontrollkästchen, sagen wir mal. Und das ist es für den Tab. Wenn du interessiert bist, kannst du mit mir mit dem Studio
fortfahren. Also jetzt für Tab2, wenn ich es tun werde, ist hier
eine andere Funktion zu erstellen , die AP2. Und innerhalb dieser Funktion erstelle ich auch ein anderes Formularlayout. Und vielleicht wechseln wir von
der Formel ab und ich erstelle ein QH-Box-Layout. Also nenne ich es Bücher vom Typ QH-Box-Layout. Und wir werden die Labels hinzufügen. Nehmen wir an, ich habe ein Label eins für Kategorie eins. Es wäre also vom Typ q mit der Bezeichnung „Kategorie 1“ und dann zwei für Kategorie zwei beschriften. Und schließlich Arbeit 34, Kategorie 3. Alles klar, jetzt geht's uns gut. Was wir jetzt tun müssen, ist, sie einfach zu unserer Box hinzuzufügen. Fügen Sie also beim Widget das Label eins hinzu, und dann fügen wir mit der Bezeichnung 2 hinzu. Und schließlich werden wir Arbeit 3 hinzufügen. Jetzt, wie zuvor, legen wir nur das Layout unserer zweiten Registerkarte auf dieses eigentliche Feld fest. Und wir müssen uns addieren und
aufrufen , um diese Funktion einfach zu generieren. Jetzt haben wir diese drei Labels. Wir können sie zum Beispiel tatsächlich in das Kontrollkästchen ändern. Wenn ich also visualisieren möchte, muss das
Kontrollkästchen sie so machen. Und wenn ich das jetzt mache, kriegen
wir so etwas. Wir müssen eines
der Gegenwart haben , um das zu bekommen. Und ich kann wählen. Einige der Textfelder sind Checkboxen, die wir haben. Und das alles benutzt ein paar Registerkarten, damit wir zwischen ihnen wechseln
können und sie sind. Für jede Registerkarte haben wir verschiedene Zwecke und verschiedene Methoden, die
generiert werden können und mit denen Sie arbeiten. Das ist es im Grunde genommen für den Cutup plus NPi-Kodifies. Dies ist das Ende dieses Kurses. Wir haben viele Methoden, die wir verwenden können und diese sind die wichtigsten. Nun, das Letzte, was ich Ihnen in
dieser Klasse zeigen werde , ist die aktuelle geänderte Methode. Auf diese Weise können wir wissen, wann immer wir den Index
ändern oder wann immer wir eine Registerkarte in eine andere Registerkarte
ändern. Also werde ich es einfach benutzen. Wenn wir also den aktuellen geändert haben, verbinden
wir ihn mit einer Methode oder einem geänderten Tab. Wenn wir nun
eine Funktion erstellen , die Tab geändert heißt, drucken
wir diese. Wir haben die Apps gerade geändert. Wenn ich das jetzt noch einmal starte
und wenn ich von hier nach hier wechsle, können
wir sehen, dass ich jedes Mal ich zwischen den Tabs wechsle oder zwischen den Tabs wechsele,
jetzt die Apps ändern werde. Jetzt haben wir auch eine andere Funktion, die darin besteht, den aktuellen Index zu erhalten. Eine Möglichkeit, es tatsächlich zu bekommen besteht darin, es einfach hier zu benutzen. Also ändern wir jetzt die Tabs. Zwei und plus, wir werden den
oberen oder W verwenden , diesen aktuellen Index. Und dies wird es uns ermöglichen, den aktuellen Index zu erhalten, den wir haben. Und wenn ich das ausführe, richtig, müssen wir es in einer Zeichenfolge verketten. Lauf nochmal. So können wir sehen, dass wir das bekommen und wir sind bei Index 0. Wenn ich zu Index 1,
0, 1, 0, 1 und so weiter gehe . Jetzt können wir auch
den aktuellen Index haben und wir können ihn
einstellen, bevor wir den Prozess starten. Und wir können diesen gesetzten aktuellen Index verwenden ich als einer angegeben habe, um zu tippen, da wir nur zwei Registerkarten haben, dies ist bei Index 0 und dies ist bei Index eins. Also werden wir wieder rennen. Und wie Sie sehen können, haben wir jetzt bei Tab One angefangen, und es tut mir leid, bis zu dem es bei Index eins ist. Und wir können hin und her gehen. Die Schritte tun, das ist es im Grunde für das nette Up, wir haben viele Methoden, die Sie verwenden können, wie zum Beispiel das aktuelle Widget, Entfernen, die Registerkarte einfügen und diese Position vielleicht direkt über der Seite
einstellen, links auf der Seite, unterhalb der Seite dieser Funktionen, kann je nach Fall für Sie
nützlich sein . Dies sind jedoch die wichtigsten, die Sie
wissen müssen , bevor Sie mit einer Piketty Five-Anwendung beginnen. Das ist es im Grunde genommen für das q tau plus. Abgesehen davon ist dies das Ende dieses Videos. Wir sehen uns im nächsten.
21. Stapel: Hallo und willkommen zurück. In diesem Video sprechen wir über die Cue-Stack-Klasse. Und lasst uns weitermachen und unsere Datei erstellen. Ich nenne es Q Stack auseinander. Und nach wie vor werden wir
dies und ein paar davon einfach von hier aus kopieren . Und dann zeigen wir
das Fenster und verlassen das System. Das heißt im Grunde genommen für eine grundlegende Anwendung von
35, beginnen
wir jetzt damit Anwendung von
35, beginnen
wir jetzt den Stapel zu erstellen, den wir wollen. Um das zu tun, müssen wir dq Stack verwenden, welche Klasse wir haben. Also nenne ich es Stack. Und es wird Q gestapelt Widget sein. Und dies wird der Hauptstapel sein, den wir erstellen müssen. Was wir jetzt tun werden, ist,
dies einfach von Q mit ihrem Budget auf das zweite Quartal zu ändern . Und natürlich müssen wir mehrere Stacks
erstellen und sie dann diesem Q-Stack-Widget
hinzufügen
und ihnen dann ein Stundenfenster anzeigen. Um das zu tun, erstelle ich ein S1, das ein Q-Widget ist. Und dann S2, noch ein Schlüssel, der es ist. Und ich glaube, das reicht. Was wir jetzt tun werden, ist, dies in unser Stack-Widget aufzunehmen. Und um das zu tun, können wir einfach hier Stack
verwenden, der Widget hinzufügt. Und wir werden S1 hinzufügen. Dann fügen wir S2 hinzu. Und danach
erstellen wir vielleicht nur eine
Art Layout und setzen einfach die Switches hinein. Also erstelle ich ein horizontales Feld. Ich nenne es Feld Q H Box-Layout. Und dann fügen wir den Stack
mit den Bugs, die Widget hinzufügen, in dieses Feld ein. Und wir werden Stack hinzufügen. Und schließlich werden wir das Layout unseres Fensters
so einstellen die Box ist, die wir gerade erstellt haben. Jetzt lasst uns weitermachen und das machen. Ich werde Python Q Star Octopi laufen lassen. Stimmt's? Wir haben also einen Fehler. Und das liegt daran, dass wir hier nicht hinzugefügt haben. Jetzt denke ich, dass es uns gut geht. Lasst uns nochmal rennen. Und wir haben unsere Widgets. Was wir eigentlich tun müssen, ist, einfach nur ein paar Informationen hinzuzufügen. Wir werden also ein paar Stacks oder ein paar Funktionen erstellen denen wir dieser soeben erstellten SASA
einige Informationen hinzufügen können. Also lasst uns weitermachen und es machen. Genau hier. Ich erstelle die Funktion, die für Stack One gedacht ist. Und in dieser Funktion erstelle ich einfach ein Formular, du formierst Layout. Und dann werden wir den FirstName und den LastName
hinzufügen, genau wie wir es für DQ-Daten getan haben. Der Vorname wird also von Q-Label sein. Und das wird nur Name oder vielleicht FirstName sein. Und dann werden wir LastName haben, das ist Q-Label für. Lassen Sie mich dieses Gleiche von hier löschen. Also dieses ACU-Label für den Nachnamen. Und dann haben wir die Schlange dran. Zeile 1 wird also gleich q line Edit sein. Und dann wird Zeile zwei auch gleich einer anderen Q-Zeile Edit sein. Und was wir dann tun werden, ist, diese
in einer Art Zeile zum Formular hinzuzufügen . Wir haben FirstName mit seiner entsprechenden Zeile, welche Islam eins, und dann eine weitere Zeile mit dem Nachnamen plus Zeile 2. Und wir kriegen es jetzt. Das war's also. Im Grunde ist dies unsere Form. Was wir jetzt tun müssen, ist einfach die Verzögerung
aus unserem ersten Schritt zu setzen , oder? Wir tun dies also, indem wir einfach das
s1-Punktsatz-Layout zu diesem Formular hinzufügen , das wir gerade erstellt haben. Also jetzt ist das für Stack One. Wir können genau das Gleiche für stat tun , bevor wir versuchen, es anzuzeigen. Also haben wir Mitarbeiter gleich hier. Und vielleicht lass mich einfach denselben Code
kopieren und ein paar Zeilen für hier ändern. Also hole ich das und stelle es hier ein. Und was wir tun werden, ist
einfach das Layout von S2 zu ändern. Und dies wird zum Beispiel die erste Sekunde sein, nur um Namen zu ändern, um
zu wissen, dass wir
die Stacks geändert haben, wenn wir diesen Code gerade ausführen. Wenn wir dies nun ausführen, wie wir sehen können, können
wir vorerst alles sehen, weil wir
keine Liste hinzugefügt haben, die
es uns ermöglicht, Pseudocode zwischen diesen Tags zu wechseln. Und eine Möglichkeit, dies zu tun, besteht darin, einfach das Cue-Listen-Widget zu
verwenden. Und dies wird eine Liste auf der linken Seite
des Bildschirms sein, in der Sie
zwischen den Stapeln wechseln und einen davon auswählen können. Also lasst uns weitermachen und es umsetzen. Nach dem Erstellen der Widgets, aber wir können tatsächlich eine Liste des
Typs Cue-Listenwidget erstellen . Und diese Liste wird es uns ermöglichen, hier ein paar Dinge zu haben. Wir können Artikel einfügen. Und dieser Gegenstand wird auf Index 0 sein, und ich nenne es festgefahren. Und dann fügen wir einen anderen Gegenstand ein. Und das sollte bei Index 12 sein wird zwei gestapelt. Und jetzt, nachdem wir diese eingefügt haben, wir es tatsächlich tun dies
einfach in unsere Box einzufügen, die ich gerade erstellt habe. Bevor wir also den Widget-Stack hinzufügen, fügen
wir hier die aktuelle Liste hinzu, die wir gerade erstellt haben. Lasst uns jetzt weitermachen und das machen. Und wir werden so etwas sehen. Wir haben eins und Schritt
zwei gesteckt und wir können dazwischen wechseln. Aber wir können nicht einfach den eigentlichen Stapel
sehen, den wir gerade erstellt haben. Und das liegt eigentlich daran,
dass wir diese Funktionen nicht wirklich hier aufgerufen haben. Lassen Sie mich also weitermachen und es nach dem Erstellen der Liste machen. Und wir können es zum Beispiel hier machen. Ich werde einen Stapel machen. Und dann benutzen wir Stack Two. Und jetzt lasst uns weitermachen und das noch einmal ausführen. Und wir können sehen, dass wir unseren Stack bekommen haben. Wir haben Stack One,
der für FirstName und LastName ist. Dann haben wir Stack zwei. Und natürlich wird
vorerst nichts passieren, weil wir nicht wirklich zwischen
irgendetwas gewechselt oder geändert haben, wenn wir vor Ort drücken, um eines zu entstapeln oder zu entstapeln. Und wir müssen eine Funktion erfüllen, die das für uns genau hier funktioniert. Wie machen wir das? Wir können einfach
die aktuelle zeilengeänderte Methode verwenden , die wir gerade haben. Und dies wird es uns ermöglichen, zwischen den Steuern umzuschalten, diese Stapel, die wir gerade erstellt haben. Und um das zu tun, werden
wir das sagen, wann immer wir etwas von der Liste
haben. Also wenn die Liste das, und wir werden hier
Dysfunktion verwenden aktuelle Zeile geändert. Wir verbinden es mit einer Funktion, die den eigentlichen Stack übergase oder ändert. Wir werden es als Stack ändern benennen. Und wir werden den Function Writer erstellen. Klar, Stapel ändert sich. Und dies ermöglicht es uns, zwischen
den verschiedenen Stacks umzuschalten , die wir haben. Und in diesem Fall werden
wir einfach Stack hinzufügen,
den Stil, den wir gerade von hier aus erstellt haben. Und wir werden den aktuellen Index auf
den Index setzen , den wir von diesem hier
erhalten werden. Um also den Index, den wir haben, aus der Liste zu erhalten, können
wir einfach die aktuelle Zeile auflisten verwenden. Und wir haben jetzt, also wenn ich das noch einmal mache, kriegen
wir so etwas. Also stecken wir fest. Erstens, wenn ich auf Schritt zwei drücke, werden wir uns ändern. Also haben wir Stack eins, FirstName, LastName, Stack auf zuerst. Zweitens wechseln wir, wie
wir sehen können , mithilfe dieser Liste zwischen diesen Aufgaben. Lassen Sie mich also weitermachen und gleich hier eine kurze Zusammenfassung machen. Also was du zuerst erstellt hast, Die Stapel, die wir gerade haben, stapeln eins und Schritt zwei. Dann haben wir ein Cue-Listen-Widget erstellt. Fügen Sie diese hinzu geben Sie an, dass dies Stapel eins ist und dies zwei sind. Und wenn wir dann auf
eines dieser auf der Liste drücken , haben wir,
was wir gerade getan haben, um diese Funktion zu nennen, die gestapelt
ist und dann
den Index erhalten , bei dem wir uns in der Liste befinden. Zum Beispiel sind wir hier bei Index 0. Also gehen wir zu Stat und legen den Stapel fest, den wir gerade erstellt haben
, der genau hier ist, wo wir unseren S1 und
S2 hinzugefügt und den Index entsprechend ändern. Wenn Sie also auf dem Stapel bei Index 0 sind, werden
wir hier aus
dem Stapel die Informationen
von Stack One haben dem Stapel die Informationen , der bei Index 0 liegt. Wenn wir diese Liste also in Index eins ändern, zwei gestapelt ist, erhalten
wir alles, was wir im Stapel
haben, bei Index eins, was eigentlich dieser Stapel
ist , für den wir gerade erstellt haben. Das war's also. Im Grunde können wir
so zwischen den Stacks wechseln. Man kann viele Dinge mit ihnen machen. Und das ist im Grunde nur das grundlegende Layout, das wir mit DQ sta erstellen können, das wir in Pike modifiziert haben. Das ist es im Grunde genommen für dieses Video. Wir sehen uns im nächsten.
22. Splitter: Hallo und willkommen zurück. In diesem Video gehen wir
die Splitter-Klasse in der Python-Datei durch . Es ist eine einfache, aber fortgeschrittene Klasse oder wir haben es. Also lasst uns weitermachen und so Q Split des Kuchens erstellt. Und was wir tun werden, ist, dass
wir wie immer die Imputationen kopieren werden. Und dann erstellen wir die App und zeigen sie einfach an und führen einfach die App aus. Was wir jetzt tun können, ist tatsächlich ein paar Dinge zu schaffen. Also werde ich
vielleicht zwei oder drei Q-Line-Erwachsene erstellen , bei denen wir eine Steuergutschrift haben oder einfach nur erstellen. Also lass mich weitermachen und es hier machen. Wir werden also einen T1 für Textil haben, um
einen Text vom Typ q Text bearbeiten zu können. Und wir können Text als T1 einsetzen. Dann werden wir T2 haben, was auch Q Text bearbeiten ist. Und ich setze den Text in diesen als T2 ein. Und schließlich T3, was auch Q-Texte hinzugefügt sind. Und das wird dies als T3 sein. Okay, jetzt geht's uns gut. Wir haben alle unsere Textbearbeitungen. Und was wir verwenden werden, ist ein Warteschlangensplitter. Dieser Q-Splitter wird tatsächlich derjenige sein, der das Fenster in alles schneidet, was wir wollen. Also haben wir zwei Dinge. Es kann entweder horizontal oder vertikal sein. Lassen Sie mich also einfach demonstrieren und das Beispiel, ich nenne es als einen, der diesen Splitter angibt, einer wird q-Splitter verwenden, und ich werde q t dot horizontal verwenden, um unser Fenster
einfach horizontal zu teilen. Was wir jetzt tun werden, ist
Widgets in diesen Splitter hinzuzufügen . Also fügt s1 Punkt Widget hinzu. Ich füge t1 hinzu und füge dann 32 hinzu. Also s1 Punkt ADD t2. Und dann werden wir das Layout einfach so einstellen , dass es sich in unserem Fenster befindet. Und um das zu tun, brauchen wir tatsächlich eine Schachtelsalami. Machen Sie einfach weiter und erstellen Sie hier ein sehr schnelles. Ich benutze dafür eine horizontale Box. Also QH Parks, und das wird unsere Box sein und wir werden es einfach mit dem Widget hinzufügen hinzufügen. Fügen Sie also ein Widget hinzu. Und wir werden einen Schwan hinzufügen. Und dann werden wir es zeigen oder
das Layout unseres Fensters
so einstellen das Layout unseres Fensters dass es die Speichen ist, die wir gerade erstellt haben? Wenn wir jetzt weitermachen und das machen. Also Q-Splitter, kein Kuchen. Oder auf so etwas zu kommen. Wir haben das als T1 und T2. Und wie Sie sehen können, gibt es Hälften, weil wir den Splitter horizontal verwenden. Wie wir sehen können, haben
wir diese beiden vorerst. Wir haben dieses D3 und keinem von denen hinzugefügt. Was wir jetzt machen werden, ist 2. Fügen Sie einfach einen weiteren T4 hinzu. Das ist auch ein süßer Aufreger. Und dann werden wir es so einstellen, dass es T4 ist. Und was wir jetzt tun werden, ist
eine weitere Ebene zu erstellen , die ebenfalls horizontal ist. Also nenne ich es Q-Splitter. Und dies wird es uns ermöglichen, QT auch horizontal punkten zu lassen. Und jetzt können wir diese Widgets auch hinzufügen. Also t3, und ich füge t4 hinzu. Und dann fügen wir es unserer Box hinzu. Wenn wir also Kriterien hinzufügen, fügen Sie ein Widget hinzu und wir fügen zwei hinzu. Wenn wir dies jetzt noch einmal ausführen, können
wir sehen, dass wir mehrere Widgets oder mehrere nur Steuerprüfungen erhalten, die nur horizontal
sind, es zerbricht. Was wir jetzt tatsächlich tun können, ist, diese beiden zu nehmen und sie hier unten zu platzieren. Anstatt sie alle diese Viere auf derselben Sonde zu haben, können
wir tatsächlich T1, T2, T3 und T4 genau hier haben. Und eine Möglichkeit, dies zu tun, besteht darin, diese vertikal besser zu verwenden. Was ich hier tun werde, ist,
S2 als Splitter-Tab zu verwenden , die
wir gerade erstellen werden , oder vielleicht S3. Lass mich einen weiteren Spinner erstellen. Und das wird q t dot vertikal sein. Und dies ermöglicht es uns, den
ersten besseren und dann den
zweiten Sputter übereinander zu lagern ersten besseren und dann den . Also werde ich das noch hinzufügen. Also füge ich ein Widget hinzu und füge einen Schwan hinzu. Und ich füge S2 hinzu. Anstatt
diese Switches S1 und S2 der Box hinzuzufügen , fügen
wir einfach den S3 hinzu, den wir gerade erstellt haben. Also box das, füge Widget hinzu und füge dann S3 hinzu. Jetzt lass mich das einfach schließen und nochmal laufen lassen. Wir können jetzt sehen, dass wir unsere vier Steuererwachsenen haben und sie besser aussehen als die zuvor. Was wir eigentlich gemacht haben, ist, dass wir drei Sputter geschaffen haben. Der erste ist horizontal, um T1 und T2 hinzuzufügen. Und diese Form haben wir T1 und T2, sie sind horizontal. Und dann haben wir einen weiteren Sputter, der
gebeten wird, T3 und T4 hinzuzufügen, wie wir sehen können. Und danach
haben wir einen vertikalen Sputter verwendet, um S1 und S2 hinzuzufügen. Und denken Sie daran, dass sich t1 und t2 als eins bilden, T3 und T4 sind zwei. Also haben wir T1, was genau hier ist. Und wir haben, was auch das hat. Und wir haben sie vertikal mit dem S3-Splitter hinzugefügt. Und was wir dann tatsächlich gemacht haben, ist, dass wir
den ganzen S3-Sputter in die Box aufgenommen haben oder gerade erstellt haben. Ordnung, das ist also die QRS Player-Widget-Klasse und Pi 35, es ist einfach bei fortgeschrittenem. Man kann viele Dinge damit machen. Sie können
diese Steuergutschriften und auf alles ändern , was Sie wollen. Und es ist eine sehr leistungsstarke Funktion , die Sie verwenden können, und es wird ein großartiges Plus 2 der Piketty-Fünf-Anwendungen , die wir später erstellen werden. Angesichts dessen ist dies das Ende der Skews Spielerklasse. Wir sehen uns im nächsten Video.
23. Dock: Hallo und willkommen zurück. In diesem Video werden wir über
die Q-Punktklasse sprechen , die wir haben, n Pi 35. Lasst uns also weitermachen und unsere Bewerbung starten. Ich erstelle wie gewohnt eine Q-Anwendung, sys.path, RGB. Dann erstelle ich ein Hauptfenster der Warteschlange
und emittiere w. Und dann werde ich es einfach zeigen. Und danach werde ich das System beenden, indem ich
die Anwendung ausführe. Was wir jetzt tun werden, ist vielleicht einige Arten von Fehlern zu erzeugen. Ich erstelle vorerst einfach eine QH-Box. Und was ich jetzt gerade mache, ist vielleicht eine Menüleiste nur um einen Bildschirm mit einfachen oder grundlegenden Elementen anzuzeigen. Also nenne ich es MB Menüleiste, und das wird wie gewohnt die Menüleiste sein. Was wir jetzt tun werden, ist, ein paar Dinge dazu hinzuzufügen. Also füge ich zum Beispiel zuerst hinzu. Zwei werden Mp sein, der Menü hinzufügt. Und das wird zuerst sein. Und dann haben wir Second und B.me, zweitens. Wenn wir das sehen wollen, können
wir diese Menüleiste einfach
in das eigentliche Layout oder
das eigentliche Fenster einfügen , das wir haben. Also mach das, wir können es einfach hinzufügen, lass mich einfach das Layout hier hinzufügen. Und beachten Sie, dass wir das vorerst nicht wirklich brauchen , da wir die Menüleiste aus dem Fenster
erstellen. Wenn ich es zum Beispiel hier ausprobiere und das durchführe, bekomme
ich so etwas. Ein Spiegel auf Python, q doc. Okay, also haben wir zuerst, zweitens und alles. Sieht gut aus. Schließen wir das einfach und versuchen es noch einmal. In Ordnung, also das ist vorerst unsere Bewerbung. Was wir jetzt tun werden, ist
ein Warteschlangen-Duck-Widget zu erstellen . Also werde ich weitermachen und es hier erstellen. Ich nenne es „Ente“. Es wird von der Klasse Queue Duck Widget sein. Und ich nenne es der Einfachheit halber „Doc“. Das ist also unser CUDA Tk-Widget. Was wir als Nächstes tun werden, ist vielleicht eine Liste von Widgets zu
erstellen und ihnen einige Elemente hinzuzufügen. So können wir zum Beispiel eine Liste erstellen. Ich nenne die Liste, das coolste Q-Widget. Und dies ermöglicht es uns, einfach einige Artikel hinzuzufügen. So aufgeführt Element hinzufügen, benennen Sie
es eins, Liste, Punkt zwei. Und schließlich Add-Item angepasst. Und das ist Punkt drei. Und schließlich wird der letzte vier sein, also haben wir vier Gegenstände. Was wir jetzt tun werden, ist, das Widget
unseres Dock-Widgets einfach auf diese tatsächliche Liste
zu setzen unseres Dock-Widgets , die wir gerade erstellt haben. Um dies zu tun, können
wir einfach das Widget festlegen und das Budget als die tatsächliche Liste
festlegen ,
die wir gerade erstellt haben. Und danach lass mich das einfach noch einmal machen. Lasst uns schließen. In Ordnung, also haben wir das Warteschlangen-Layout und wir hatten nicht das Warteschlangen-Dock. Und das liegt daran, dass wir das nicht in den Bildschirm aufgenommen haben. Auf eine Möglichkeit, dies zu tun, können
wir es einfach hinzufügen, indem wir w verwenden, das doc-Widget hinzufügt. Und wir können tatsächlich seine Position angeben. Wir haben also den linken Doc-Widget-Bereich, rechten Doc-Punkt, oben, Dokument unten und treten nicht auf. Also werden wir vielleicht mit dem linken Doc gehen, welchen IT-Bereich in diesem Fall. Und das ermöglicht es uns,
alles klar zu machen , also können wir einfach Q,
t drücken und dann den Doc-Widget-Bereich verlassen. Alles klar, also sind wir gut, jetzt haben wir unsere Gegend und wir werden die dunklen Kriterien
hinzufügen , die wir gerade erstellt haben. Und danach können wir unseren Code einfach wieder ausführen. Und wie wir sehen können, haben wir unseren Q-Punkt genau hier. Wir haben unsere Artikel. Wenn ich jetzt drauf drücke oder darauf doppelklicke, kann
ich es für vom Bildschirm wegbewegen. Und wenn ich noch einmal drauf doppelklicke, hole
ich es zurück. Und unser Bildschirm. Wie Sie sehen können, weil wir
nichts anderes in unserer Gegend hatten ,
obwohl wir angeben, dass es auf der linken Seite sein
sollte, dauerte
es den gesamten Bildschirm und das liegt daran, dass wir nichts anderes zu tun haben zeigen. Also wenn wir weitermachen und vielleicht ein Add, irgendetwas genau hier, Nehmen wir an, ich will Angriffe Edit. Dann kann ich weitermachen und es wird erscheinen, und das wird auf die linke Seite des Bereichs gelangen. Jetzt haben wir noch ein paar andere Funktionen. Und eine von ihnen sind die Set-Features. Und das ist, um die Funktion des Dock-Fensters einzustellen. Wir können es verschließbar, beweglich, schwimmfähig machen. Und wir haben die vertikale Titelleiste des Doc-Widgets. Und wir haben auch das No Doc welches AT bietet. Und dies wird es uns ermöglichen, vorerst
keine Funktionen und unser Dokument zu haben. Und das ist es im Grunde genommen das sind vier, das ist es für die Q-Punktklasse und Piketty Five. Es ist eine großartige Klasse, besonders wenn wir einige Hunde bewegen und
vielleicht mehrere Bildschirme erstellen müssen , die
sich bewegen und alles damit machen können . Das ist es im Grunde genommen für dieses Video. Wir sehen uns im nächsten.
24. Scroll-Balken: Alles klar, also werden wir in diesem Video
die Warteschlangen-Scrollbar-Klasse besprechen und Pi gereinigt. Also lasst uns weitermachen und erstellen, wir werden einen Skriptnamen erstellen, weil Scrollbar Pie. Und im Drehbuch werden wir
alles importieren , was wir hier haben. Und dann erstellen Sie die Anwendung einfach mit einer einfachen Cue-Anwendung. Und wir werden
das Hauptfenster in eine Warteschlange ändern , die es vorerst gibt. Und dann zeigen wir es natürlich an und beenden das System, indem wir die App ausführen. Alles klar, jetzt geht's uns gut. Wir können mit unserer Hauptanwendung
beginnen , um einfach eine Warteschlange zu erstellen vBox. Also werde ich das Q VBox-Layout haben. Und in dieser Box werden wir ein paar Dinge
haben. Das erste, was ich tun werde, ist vielleicht einfach eine einfache Bildlaufleiste zu erstellen, die wir nur sehen können. Also werden wir es schaffen. Ich nenne eine Bildlaufleiste. Und es wird vom Typ Scrollbar sein. Und uns geht's gut. Was wir jetzt tun werden, ist es einfach zu der Box
hinzuzufügen, die wir hatten. Fügen Sie also Boxdot Widget hinzu. Und ich füge diese Geschwindigkeit hinzu. Und danach werden
wir natürlich einfach das Layout
unseres Fensters so einstellen , dass es sich um diese gerade erstellte Summe handelt. Stimmt's? Lassen Sie mich also weitermachen und das ausführen nur um eine Vorstellung davon zu bekommen, wo wir gebaut haben. Sag jetzt, dass es das tut. Wir können sehen, dass wir unsere Bildlaufleiste genau hier haben. Und wenn wir es jetzt erhöhen, können
wir die Länge hier erhöhen. Lassen Sie mich also einfach die Geometrie des Fensters auf 500s einstellen. Und das versucht es noch einmal. Und wir kriegen so etwas. Okay, jetzt haben wir zwei Funktionen, die wir verwenden
können, und diese Saft-Brechbar-Klasse, die erste ist der Schieberegler, und die zweite ist der geänderte Wert. Und normalerweise verwenden wir den Schieberegler, wann immer wir wissen möchten, ob er auf der Folie verwendet wird. Andererseits wird der geänderte Wert normalerweise verwendet, wenn wir wissen möchten, ob sich der Wert für Bildlaufleisten geändert hat. Mit anderen Worten, wenn wir wissen wollen, wann sich der Wert ändert, obwohl der Benutzer den Schieberegler noch nicht gerade freigegeben hat. Wir müssen den Schieberegler verschieben und die abgewertete Änderung verwenden wenn der Benutzer den Schieberegler tatsächlich loslässt. Lassen Sie uns also einige der Funktionen implementieren. Also beginnen wir zum Beispiel mit dem bewegten Schieberegler. Und
lass es mich in diesem Fall einfach hier benutzen. Umgezogen. Und in diesem Fall verbinden wir es mit einer Funktion, die Slider Mover ist. Und ich werde es hier erstellen. Schieberegler bewegt sich also und wir werden einfach den Wert unseres Intervalls drucken. In Ordnung, also haben wir hier den Schieberegler in Bewegung. Und in diesem Fall können
wir
den Schieberegler, den wir haben, einfach zurückgeben und einfach seinen Wert drucken. Wir müssen uns hier nicht wirklich damit auseinandersetzen, aber wir können es schaffen. Ich drucke hier Sb diesen Wert. Und wenn wir das jetzt ausführen, holen
wir uns unseren Schieberegler oder die Bildlaufleiste. Und in diesem Fall, wenn ich darauf drücke und es verschiebe, bekomme
ich das genau hier, obwohl ich es noch nicht veröffentlicht habe. Und wir haben alle Werte von 0 bis 100, weil es der Standardwert ist. Wir können es immer ändern. Unsere legen das Maximum fest, Minimum nach unseren Bedürfnissen. Aber im Moment ist dies die Methode des Schiebereglers verschoben. Lasst uns nun weitermachen und vielleicht den Wert geändert verwenden. Also werde ich versuchen, dass sich die Werteänderung verbindet und vielleicht den Wert ändert. Und in diesem Fall erstelle ich hier eine Funktion mit dem Namen Wert ändern. Und drucken Sie einfach den Wert der Bildlaufleiste aus, die wir haben. Und wenn wir das noch einmal ausführen, werden
wir sehen, dass es genau das Gleiche
hat wie zuvor. Und das ist es im Grunde, das ist es. Wenn ich das noch einmal mache, dafür sehen, werden
wir
dafür sehen, dass es
genau das Gleiche hat , wie wir sagten. Und wir werden
die Werte erhalten , wenn wir uns ändern oder wann immer wir mit dieser Bildlaufleiste scrollen, die wir haben. Das war's also. Grundsätzlich ist dies eine
der wichtigsten Klassen und 35, weil es Ihnen ermöglicht, mehrere Dinge zu tun, können Sie diese einfach ziehen und dass der Benutzer zum Beispiel alles wählt und handelt. Es hat also viele Verwendungszwecke und es ist sehr mächtig. Abgesehen davon ist dies das Ende dieses Kurses. Und wir sehen uns im nächsten Video.
25. Statusleiste: Hallo und willkommen zurück. In diesem Video werden wir
den Warteschlangenstatus pro Klasse in Python 35 besprechen . Lassen Sie uns also fortfahren und
unsere Anwendung wie gewohnt mit der Q-Anwendung starten . Und dann erstellen wir unser Fenster. Wir sollten ein q-Hauptfenster sein. Und natürlich werden wir es zeigen und die App ausführen. Aber schon mal raus. In Ordnung, also geht es uns gut, jetzt können
wir mit unserer Bewerbung beginnen. Was wir tun werden, ist vielleicht mit etwas Einfachem wie zuvor zu beginnen, wir werden eine Menüleiste erstellen. So können wir aus dem Fenster, das wir gerade hatten,
eine Menüleiste erstellen . Und was wir tun werden, ist einfach ein Menü hinzuzufügen. Also füge ich zuerst ein Menü hinzu und vielleicht zweitens. Und ich werde zuerst einige Aktionen hinzufügen, also nenne ich es zuerst hier. Also kann ich später darauf zugreifen. Und hier kann ich mit der Aktion „Hinzufügen“ darauf zugreifen. Ich füge vielleicht hinzu, ich weiß es nicht, vielleicht füge Text hinzu und lösche Text. Dies sind also die Aktionen, die wir in unserer Menüleiste haben. Also haben wir Angriffe oder löschen Text. Und was wir jetzt tun werden, ist eine Warteschlangen-Statusleiste zu erstellen, in der wir diesen Text
entweder anzeigen können oder nicht in einer Textbearbeitung oder einer ausgerichteten Bearbeitung, die wir einfach erstellen können. Also lasst uns weitermachen und das machen. Und was wir im Grunde tun werden ist, eine Statusleiste als
B zu erstellen , und es sollte eine akute Statusleiste sein. Und was wir tun werden, ist, das Fenster
einfach auf die Statusleiste zu setzen. Stellen Sie also die Statusleiste auf SP ein. Okay, jetzt geht's uns gut. Wir haben unsere Statusleiste. Wir brauchen jedoch eine Methode, um es auszulösen. Und diese Methode wird tatsächlich dann sein, wenn wir auf etwas drücken, das zuerst auf dieser Stelle steht. Also haben wir zuerst ausgelöst und wir haben hier eine Warteschlangenaktion. Wenn wir also zuerst auf etwas klicken, verbinden
wir es mit einer Funktion , die wir erstellen werden und die die Arbeit für uns erledigt. Und in diesem Fall nenne ich es. Dürfen wir zuerst einsammeln. In Ordnung, damit wir unsere Funktion hier erstellen können. Zuerst geklickt. Und wir drucken vorerst Hallo, nur um zu bemerken, dass es funktioniert, Ashley. Wenn ich also jetzt weitermache und das mache, bekomme
ich so etwas. Und wenn ich auf Angriffe oder eine D-Steuer drücke, werden
wir Hallo und beide bekommen. Das ist es also im Grunde genommen, zur zweiten oder ersten Zeit wird nichts passieren. Wenn ich jedoch auf diese Aktionen drücke, die wir hier haben, werden
wir gedruckt. Hallo. Was wir jetzt tun werden, ist vielleicht eine Textbearbeitung hinzuzufügen. Und in dieser Textbearbeitung können
wir tatsächlich einfach
einen Text hinzufügen oder gemäß
diesen Aktionen, die wir für die IT haben, gelöscht werden . Um dies zu tun, können
wir die
hinzugefügte Steuer tatsächlich in das tatsächliche Fenster setzen , das wir haben. Also haben wir w. Und ich werde fortfahren und zentrale Widget so
einstellen, dass es sich um eine Textbearbeitung handelt. Und ich nenne es hier zum Preis besteuert. Es wird akute Textbearbeitung sein. Und ich füge es hier hinzu. Und was wir dann hier haben können. Wenn ich das noch einmal durchführe, kriegen
wir so etwas. Wir haben einen Texteditor, wir können hier etwas schreiben. Was wir jetzt tun werden, ist einfach ein paar Zeilen hinzuzufügen. Wenn wir auf den Anzeigentext drücken und ihn vielleicht löschen, wenn wir auf die Aktion Text löschen
drücken. Was wir also tun werden, ist tatsächlich etwas zu bekommen, ich nenne es vielleicht W
oder um des Beispiels willen. Und was wir tun werden, wird es uns ermöglichen, den Text
des eigentlichen Menüs zu überprüfen , das wir bekommen haben. Also wenn ich es hier ausdrucke, drucke ich W dot txt. Wenn wir jetzt weitermachen und das machen, holen
wir uns den Bildschirm. Und wenn ich auf Durstangriffe drücke, werden
wir zur Steuer kommen. Und die Steuer, wir werden auch Löschtext bekommen. Und wie Sie sehen können, jedem Drücken auf sie wird
diese Methode bei
jedem Drücken auf sie aus
der ausgelösten Aktion aufgerufen , die wir gerade hier erstellt haben. Jetzt werden wir prüfen, ob dieser W-Punkt txt gleich der Anzeige ist, dann fügen wir dem eigentlichen Texteditor,
den wir gerade erstellt haben, einige Zeilen hinzu. Also f, w dot x ist gleich, um vielleicht Text hinzuzufügen. Und wenn dies der Fall ist, fügen wir etwas hinzu, um Text zu bearbeiten. Also setzen wir den Text auf Hallo. Dies ist der erste Text, der hier geschrieben wurde. Und wenn dies nicht der Fall ist, also wenn es mir leid tut, wie wir prüfen werden, ob dies gleich dem Löschen von Text ist. Und wenn dies der Fall ist, fügen wir einfach die
hinzugefügten Texte hinzu oder setzen den Text in eine leere Zeichenfolge. Das ist es also im Grunde genommen, lass mich das
einfach korrigieren und ich denke, wir sind gut. Alles klar. Das war's also. Im Grunde ist das vorerst unser Gott. Wir haben gerade überprüft, ob wir den Text hinzufügen oder löschen müssen, und wir führen
den Vorgang einfach gemäß Nachricht aus,
die wir gerade erhalten haben. Schließen wir das jetzt und führen es erneut aus. Und wenn ich jetzt zuerst auf drücke und Texte hinzufüge, sehen
wir hier Text. Und wenn ich lösche, wer kann sehen, dass es von hier verschwunden ist. Das ist also im Grunde genommen die Idee der Warteschlangen-Statusleiste. Und es ändert den Status eines beliebigen Elements in unserer Piketty Fünf-Anwendung entsprechend unseren spezifischen Bedürfnissen. Und in diesem Fall haben wir uns entschieden, dass
wir, wenn wir auf dieses Menü Hinzufügen drücken, gerade erstellt
haben und jede Aktion, die entsprechend ausgeführt wird. Und wir können unsere Piketty-fünf Anwendungen löschen, hinzufügen und ändern, indem wir
diese ausgelöste Funktion verwenden , die wir gerade für diese Warteschlangenstatus-,
Bar-, Glas- und Piketty-Datei
erstellt haben. Das ist es im Grunde genommen für diesen Kurs. Aber davon abgesehen ist dies das Ende dieses Videos. Wir sehen uns im nächsten.
26. Kalender: Hallo und willkommen zurück. In diesem Video werden wir die
dq Telenor-Klasse in Parkett-Datei diskutieren . Lass uns weitermachen und anfangen, es zu bauen. Sie erstellen ein neues Skript nennen es Q-Kalender, den Kuchen. Und ich werde alles importieren, was wir haben, wie gewohnt. Alles klar, also sagten wir, was wir
jetzt tun werden, ist einfach Q zu bauen, was es ist. Also fange ich mit der Bewerbung an. Wie üblich q Application und System.Out ARG V. Und dann werden wir das Widget aus dem q-Widget erstellen. Okay, dann zeig es. Und natürlich führe die App aus. Und jetzt geht's uns gut. Sie können mit dem Aufbau unseres Kalenders beginnen. Und es ist eine tatsächliche State-Forward-Klasse. Ich hab hier nicht viel zu tun. Wir haben nur den Kalender. Wir können es mit dem Q-Kalender-Widget erstellen. Und danach setzen wir das Raster auf sichtbar. Und lasst uns weitermachen und es visualisieren. Zuvor müssen
wir dies jedoch in unser W-Punkt-Fenster des Q-Widgets hinzufügen. Also lasst uns weitermachen und das machen. Und wir kriegen so etwas. Und wie wir sehen können, können
wir die Strömung nicht finden. Ich würde sagen, dass wir gerade erstellt haben, weil wir kein zweistündiges Fenster hinzugefügt haben. Eine Möglichkeit, dies zu tun, besteht darin, es einfach mit einer Box hinzuzufügen. Also erstelle ich eine QV-Box. Und wir werden diese Art von Seifenkiste hinzufügen, um ein Widget hinzuzufügen. Wir fügen Kalender hinzu. Und danach werden wir das Layout unseres Fensters
festlegen, oder welches dieser Chef sein musste oder wir gerade erstellt haben. Jetzt lasst uns weitermachen und das machen. Wir kriegen so etwas. Wir haben unseren Zähler in unserer Box, der das eigentliche Layout von unserem angibt, was er tut. Wir können sehen, dass wir jeden Monat,
jeden Tag und jedes Datum wählen können . Du hast die Jahre hier. Wir haben den Monat hier und wir können uns einfach einen davon aussuchen. Um auf diese tatsächlichen Daten zuzugreifen, greifen
wir nur auf alle zu. Wir haben einige Methoden zu tun. Wenn wir nun auf diese Funktion klicken, müssen
wir einfach die Daten ausdrucken, die wir haben. Und wir können dies tun, indem wir einfach das gerade benutzen. Und in diesem Fall werden
wir das Q-Date machen. Und danach verbinden wir es mit der Funktion, die wir einfach erstellen müssen. Und in diesem Fall nenne ich es, das Datum hat sich geändert. Und das werden wir hier umsetzen. Also haben wir hier eine Datumsänderung und wir werden die tatsächlichen Daten drucken. haben wir. Um das zu tun, drucken
wir den Kalender. Und wir haben hier das ausgewählte Datum. Also ausgewähltes Datum. Und in diesem Fall, wenn ich das mache, lass mich einfach schließen. Und schon wieder. Und wo immer ich auf etwas oder irgendein Date drücke, wir werden es genau hier sehen. es zu formatieren, haben
wir tatsächlich die Dot-toString-Methode in Python. Jetzt versuchen wir es noch einmal. Und wir werden sehen, dass es jetzt
auf den Namen des Wochentages,
dann des Monats, des Monats und des Monats
und des Jahres selbst formatiert auf den Namen des Wochentages,
dann des Monats, des Monats und des Monats
und des ist. Das war's also. Im Grunde genommen gilt dies für unseren aktuellen vielleicht Q-Kalender und wie man ihn benutzt. Nun, eine vielleicht zusätzliche Funktion, die wir haben können,
vielleicht haben wir nur einen Q-Texteditor. Wir können uns vielleicht jedes Mal ändern, wenn wir auf das Datum drücken, das wir brauchen würden. Und in diesem Fall können wir es hier tatsächlich erstellen. Wir haben Text zu B von q text edit hinzugefügt. Und es wird zuerst leer sein. Wir werden es zu unserer eigentlichen Box hinzufügen. Wenn wir nun das Datum ändern, können
wir tatsächlich auch den Text ändern, diesen setText
bearbeiten und ihn auf den Kalender festlegen, das ausgewählte Datum, das auf Zeichenfolge. Und wenn wir jetzt zurückgehen und auf „Refresh“ klicken, werden
wir so etwas sehen. Es gibt jetzt eine Textbearbeitung, wenn ich darauf drücke, werden
wir die Daten genau hier sehen. Das war's also. Grundsätzlich ist dies für die Q-Kalenderklasse, so können wir sie verwenden und die Daten
vom Benutzer und Pi codify abrufen . Das ist es im Grunde genommen für dieses Video. Wir sehen uns im nächsten.
27. Drag & Drop: Hallo und willkommen zurück. In diesem Video werden wir
die Drag-and-Drop-Klasse diskutieren und diese sehr mächtige Klasse reinigen, in der Sie einfach etwas aus jedem Element ziehen
können, das wir haben, und es dann einfach in ein anderes Element fallen lassen können. Und wir werden es objektorientiert machen. Also dachte ich, da wir anfangen
werden, die Projekte zu erstellen und wir sind fertig mit den Grundelementen oder grundlegenden Widgets. haben wir. Warum beginnen Sie nicht mit dem Erstellen von Klassen und Funktionen und beschäftigen Sie sich mit ihnen. Um dies zu tun, erstellen wir
diese Anwendung mit objektorientierten. Okay, also fangen wir mit unserer Funktion an. Das ist die Hauptfunktion. Also beginne ich einfach damit, das Haupt- und Bestürzt zu
schaffen. Was wir tun werden, ist unsere App zu erstellen, die Q-Anwendung ist. Und Sie können diesem Format in allen Klassen
oder sperrigen 25 Anwendungen folgen , die Sie einfach
erstellen und vorwärts sagen werden . Das erste, was wir tun werden, ist, unsere Hauptfunktion und Funktionsstörung zu setzen. Wir erstellen die Anwendung und erstellen
dann unser Budget. Also nenne ich jetzt einen Kurs. Ich nenne es
nur wegen des Arguments als Budget . Unsere Klasse ist also ein Widget und es
wird das tatsächliche Q benötigen, das wir erstellen müssen. Wann immer wir ein Warteschlangen-Widget benötigen, können
wir diese Klasse einfach aufrufen. In Ordnung, also nenne ich es w, und es wird einfach q Widget sein. Es tut mir leid, die Klasse, die wir gerade erstellt haben. Und wir sind jetzt gut, wir können es tatsächlich zeigen und dann die App ausführen. Stimmt's? Jetzt geht's uns also gut. Wir können hier mit dem Aufbau unserer Funktion beginnen. Dies ist also die Hauptklasse, die wir jetzt haben, die Widget genannt wird. Und jetzt müssen wir den Konstruktor dieser Klasse definieren. Und in Python machen wir es so. Wir können einfach
das Init anrufen und es wird die ganze Arbeit für uns erledigen. Aber wir brauchen nicht wirklich all das. Wir können es einfach mit sich selbst benutzen, um mich einfach schreiben zu
lassen und es dann zu erklären. Also werden wir den Super anrufen und einfach so bearbeiten. Das ist also unsere Funktion im Grunde genommen alle dekonstruiert ,
die wir erstellen oder mit der wir arbeiten werden. Und jetzt benutzen wir dieses Selbst. Wann immer Sie das Selbst verwenden, wir uns einfach werden
wir uns einfach mit diesem Q-Widget befassen, das wir hier haben. Wenn ich zum Beispiel self.name geometrie sage,
Nehmen wir an, dies ermöglicht es uns, die Geometrie unseres Widgets,
das W-Writer ist,
einfach so Nehmen wir an, dies ermöglicht es uns einzustellen das W-Writer ist, , dass sie der gewünschten entspricht. Das war's also. Im Grunde ist dies die Idee dieses einfachen Cue-Widgets. Unsere konstruierte, die wir genau hier haben. Was wir jetzt tun werden, ist einfach eine Funktion zu erstellen. Und diese Funktion wird einfach die Arbeit für uns erledigen. Die Idee besteht also darin, vielleicht eine Zeile zu haben, in der der Benutzer einen Code eingeben und ihn einfach
ziehen und in eine andere Zeile
oder vielleicht eine Steuer ablegen kann ihn einfach
ziehen und in eine andere Zeile . Also werden wir es tun, indem mich
vielleicht einfach nur auf Text lenken lassen. Und das wird sich selbst als Parameter nehmen. Und jetzt können wir damit beginnen, die Linie daran zu erstellen. Also nenne ich es Line Edit. Und es wird wie gewohnt von der Klasse Q Zeile sein. Und das wird leer sein. Und natürlich werden wir das Selbst hier brauchen. Und was wir jetzt tun werden, ist ein anderes,
vielleicht irgendeine Art von Elementen zu schaffen . Nehmen wir an, wir brauchen in diesem Fall eine Steuergutschrift. Und ich erstelle einfach Texte nach den Kriterien. Und diese Textbearbeitung wird
vielleicht auch nichts und auch Zellen sein. Was wir hier tun werden, ist, das Arzneimittel-Feature in dieser Zeile zu bearbeiten oder zu
aktivieren. Also werde ich die Zeile bearbeiten. Und das aktiviert und oder vielleicht ziehen aktiviert. Alles klar, also haben wir es hier wahr. Und wenn ich jetzt diese Methode aufrufe, die wir genau
hier in dem Konstruktor haben , den wir gerade erstellt haben. Wenn ich diesen Code ausführe, kriegen
wir so etwas. Wenn ich einfach diese Länge vergrößere, Breite. Und wir können sehen, dass wir genau hier unsere Linie haben. Und wir haben auch die Steuer dabei. Jetzt können wir sie
vielleicht zu einer Art Box hinzufügen und diese dann einfach hinzufügen oder
das Layout unseres Fensters
oder Widgets so einstellen das Layout unseres Fensters , dass es wie zuvor dieses Feld ist. Erstellen Sie vielleicht ein QH-Box-Layout. Und jetzt werden wir diese beiden in dieser Box hinzufügen. Also Feld, das Widget hinzufügt. Ich füge Zeilenbearbeitung und Bugs hinzu, die ein Widget hinzufügen. Und wir werden auch die Texte hinzugefügten Kriterien hinzufügen. Und dann legen wir natürlich
einfach das Layout unseres Widgets fest. Und denken Sie daran, wann immer wir dieses Widget ansprechen müssen, können
wir selbstlos im Layout anrufen. Und wir werden es
so ansprechen und dem Layout hinzugefügt. Jetzt lasst es uns nochmal laufen lassen. Und so können wir sehen, dass wir unsere Zeile hinzugefügt und unsere Textbearbeitung genau hier haben. Was wir jetzt tun werden, ist einfach eine Funktion zu erstellen , die uns für die Drag & Drop-Funktion verbinden kann. Eine Funktion ist also das Drag Enter Event. Und dies wird es uns ermöglichen, wann immer wir etwas
hier eingeben und es nehmen können, und wir können es
ziehen und es wird die Informationen für
uns speichern , bis wir sie einfach woanders ablegen. Also lasst uns das zum Beispiel machen. Und dafür bauen wir einfach eine andere Funktion oder eine andere Klasse auf. Für den Drag & Drop. Ich nenne es Drag Drop. Und diese Funktion wird vorerst vielleicht nur eine Q-Steuerbearbeitung erfordern. Dies ermöglicht uns das Recht in diesen Cube TextEdit. Was wir jetzt tun werden, ist, den Ausbilder
einfach wie gewohnt zu definieren. Und Anweisungen, wir werden sich selbst haben, die alles
haben werden , was wir als Titel T nennen können. Und wir werden das Elternteil
vom frühesten Konstruktor haben . Dann rufen wir wie gewohnt super und eine IT an. Wie zuvor müssen wir jedoch Parameter fragen, das T und das Elternteil, und ich werde es in einer Minute erklären. Was wir jetzt tun werden, ist, die Tropfen hier zu akzeptieren. Also werden wir uns selbst so nennen, dass ich akzeptiere. Alles klar, also setze außer Drops und wir werden ein Wahr setzen. Und was wir dann eigentlich tun müssen. Alles klar, also das ist da. Und wir haben, was wir jetzt
tun werden , ist, die Funktionen zu erstellen, die es gibt, vielleicht müssen wir
diesen Gegenstand einfach ziehen oder wo immer wir
das Element haben und es in ein anderes Element ablegen. Und ich nenne es, das Ereignis eintritt. Dies ist eine integrierte Funktion, aber Sie müssen alles darin angeben. Lassen Sie mich
es einfach so schreiben und wir werden damit arbeiten. Das erste, was wir tun werden, ist einfach Daten zu erhalten. Und wir werden prüfen, ob die Daten, die wir erhalten, eine SMS sind, und wir werden ihn akzeptieren. Sonst werden wir es einfach ignorieren. Um das zu tun, verwenden wir F und D. Wir werden die Funktion, meine Daten, verwenden. Und wenn das Format tatsächlich ein Text oder eine Ebene ist, werden
wir einfach akzeptiert. Also d das akzeptiert. Ansonsten werden wir es einfach ignorieren. Jetzt ist dies die Hauptfunktion, die wir übernehmen werden. Es wird entscheiden, ob wir einen Klartext
haben, den wir akzeptieren können,
oder wir ignorieren einfach alles, was wir innerhalb des Elements haben und wir ignorieren das Drop-Ereignis später. Jetzt ist das Drop-Ereignis tatsächlich eine andere Funktion. Und dies ermöglicht es uns, einfach alles, was wir in unseren Texten oder Texten
haben, aufzugeben. Ja. In Ordnung, um das zu tun, werden
wir uns einfach selbst anrufen da wir den Cutex-Editor haben. Und darin werden wir den Text
in das setzen , was wir tatsächlich haben. Also die Daten, die dx von dt hier sind, und ich denke, wir sind gut. Also sono, was wir im Grunde tun werden, ist,
diese Textbearbeitung von Cutex zu ändern diese Textbearbeitung von Cutex , die in die gerade erstellte Klasse
hinzugefügt wurde. Denken Sie daran, dass wir
das süße Aufgeregte hier in dieser Klasse bauen . Wir haben einige Funktionen im Zusammenhang mit diesem Texteditor, mit denen wir überprüfen können, ob die Daten besteuert werden. Wenn dies der Fall ist und der Benutzer bei dieser Steuerbearbeitung etwas
fallen gelassen hat, werden
wir den Text dort einstellen, wo immer wir haben hier. Und um das zu tun, lass mich das einfach korrigiert schreiben. Und was wir jetzt tun werden, ist uns zu ändern, wie wir sagten. Und ich ändere das in Drag & Drop. Und wir werden es zuerst leer haben. Und dafür werden wir uns selbst anrufen. Das ist also im Grunde genommen unsere Klassen. Jetzt lasst uns weitermachen und sie noch einmal laufen lassen. Und jetzt, wie Sie sehen können, wenn ich etwas
hier schreibe und einfach ziehen und ablegen kann, können
wir sehen, dass es auf a übertragen wird. Wenn ich es
also nochmal mache, werden
wir es genau hier bekommen. Und natürlich können wir alles heller ändern weil es sich um eine Textbearbeitung handelt, am Ende des Tages. Dies ist eine großartige Klasse, die wir in Python verwenden können. Verfeinern Sie dies ein bisschen kompliziert, aber wenn Sie nur die Idee verstehen und wie sie funktioniert, wird
alles in Ordnung sein. Zusammenfassend ist also, wo wir schattiert sind, dass wir
objektorientierte Programmierung verwenden , um
diese Funktion oder für diese Pi 35-Anwendung aufzubauen . Und ich habe das getan, weil ich dachte, dass wir bald mit
Projekten beginnen werden und wir Lage sein
müssen, mit Klassen,
Funktionen zu arbeiten und nicht nur die tatsächlichen Widgets
oder Funktionen zu schreiben und Methoden, die wir haben. N Pi könnte fünf Klassen absolvieren. Und das ist ein guter Anfang. Wir haben das Widget erstellt, das wir gemacht haben. Das ist W. Wir bauen es von hier aus und definieren den Konstruktor. Der Konstruktor ist nichts anderes als nur das Startelement oder was auch immer wir in unserer Klasse beginnen, die wir gebaut haben. Und das hat gerade den Super genannt. Es ist nur eine Hauptfunktion, die aufgerufen werden sollte. Und dann werden wir einfach jede Funktion aufrufen, die wir brauchen. Und das sind Zeilen zwei Texte, die wir gerade hier erstellt haben. Und diese Funktion hatte mehrere Elemente, die wir haben. Innerhalb dieser Funktion haben wir tatsächlich eine andere Klasse, die der Drag Drop ist. Wenn wir es uns also ansehen, werden
wir auch Ähnliches finden. Wir haben den Konstruktor. Wir haben auch einige Funktionen, die wir verwenden können. Und natürlich wird all dies akzeptiert, weil wir die Akzeptanz einfach auf wahr gesetzt haben. Und wir sagten auch, dass die DAG auch hier nicht wahr sein kann. Das ist es im Grunde genommen für das Drag & Drop-Feature oder die Klasse in Pike Purify? Davon abgesehen ist dies das Ende dieses Videos. Wir sehen uns im nächsten.
28. Qt: Ordnung, also werden
wir in diesem Video QT Designer installieren. Und es ist ein Tool, mit dem wir diese Pike
ED50-Anwendungen erstellen können,
mit denen wir einfach per Drag & Drop gearbeitet haben . Wir können unsere Piketty fünf Bewerbungen mit unterschiedlichen Auflösungen haben. Größen, können die Farben ändern. Wir können Steuerbearbeitungen, Zeilenbearbeitungen und
die Widgets hinzufügen, mit denen wir zuvor gearbeitet haben. All das können wir mit einem einfachen Tool erledigen. Es gibt den Abfrage-Designer. Um es zu tun, können wir schreiben, ich sollte es versuchen, Pip, kann es mit Pip lösen. Von codify. Wir werden die Tools um 35 installieren. Und ich habe den Abfrage-Designer auf meinem Desktop und
und in meinem Fall werde ich sehen, dass die Anforderungen bereits erfüllt sind. In Ihrem Fall wird es jedoch heruntergeladen, hier
ausprobiert, nachdem es heruntergeladen wurde, aber Sie können tatsächlich
tun, um QT-Designer zu schreiben. Und das ist diejenige, mit der wir arbeiten werden. Und das wird genau hier auftauchen. So können wir einen Dialekt mit Schaltflächen und
ohne Knöpfe erstellen und ihn vielleicht vorerst schließen. Und das ist alles, was wir brauchen. Wir haben die Layouts, Abstandhalter, Schaltflächen und Put-Widgets. All die Dinge, die wir zuvor besprochen haben, wie Zeileneditor, TextEdit, Ausgabenbox, Doppelausgabenbox. Jetzt, die nächsten paar Videos können wir lernen, wie man QT-Designer verwendet und ähnliche Biografie fünf Anwendungen
entwirft oder ähnliche Funktionen
macht, die wir zuvor gemacht haben. Und dann beginnen wir mit einigen Anwendungen oder
einigen Mini-Projekten, die es uns ermöglichen mehrere Funktionen,
Schaltflächen, Widgets von hier aus
zu verwenden Schaltflächen, Widgets von hier aus und ein Mini-Projekt oder
viele Anwendungen zu erstellen , die wir haben kann mit arbeiten. Das ist es im Grunde genommen für
dieses Video, so können wir diesen QT-Designer installieren. Wir sehen uns im nächsten.
29. Einführung in den Qt-Designer: Hi. In diesem Video werden wir also ein bisschen
über QT-Designer sprechen. Wir werden die Fenster besprechen, z. B. die Widget-Box, die wir hier haben. Wir haben ein paar Dinge hier im Menü, und wir haben auch ein paar Fenster hier. Das erste, worüber wir sprechen werden, ist die Hauptmenüleiste. Wir haben die Datei, um eine neue Datei hinzuzufügen. Und wir haben hier ein paar Vorlagen. Zum Beispiel haben wir mit Tasten,
okay, und Tensor mit Tasten, okay? Es kommt hier ohne Schaltflächen, Hauptfenster und Budget. Im Grunde genommen können wir
die Dialoge meistens ohne Knöpfe verwenden. Ich werde ein einfaches Fenster wie dieses haben. Und wo immer Sie es speichern möchten, können
Sie steuern und speichern. Und es wird als GUI erscheinen, nämlich die Benutzeroberfläche, die Sie erstellen werden. Dieser QT-Designer. Es ist kein Code. Es gibt eine Möglichkeit, es einfach in Python-Code zu konvertieren, aber im Moment können Sie es einfach wie Sie haben. Jetzt haben wir auch diese Bearbeitung genau hier. Und dies dient zum Bearbeiten von Widgets und sekundärem Schlamm. Wir werden es vorerst nicht benutzen. Es gibt eine Verwendung, dass wir es später benutzen können. Wir haben die Widget-Ansicht. Sie können das Widget-Feld sehen oder einfach entfernen, die Ressourcen von hier entfernen, so weiter und so weiter. Sie haben auch die Einstellungen, die Sie auswählen können, können die Vorlage ändern und so weiter. Wir haben auch das Fenster, um es zu minimieren oder zu maximieren. Dann hast du auch den Hilfebereich hier. Was uns jetzt interessiert sind, sind
die Widget-Boxen genau hier. Wir haben also die Filterfunktion oder die Möglichkeit, nach einer bestimmten Sache zu suchen, die wir wollen. Zum Beispiel haben wir vertikal, wir haben Layouts,
Abstandhalter, Bildlaufleiste und Schieberegler. Wir haben auch eine Linie. Dies ist also eine großartige Möglichkeit,
wenn Sie
etwas Bestimmtes wünschen und es brauchen , können Sie es übrigens einfach hier ausprobieren. Zum Beispiel das Kontrollkästchen. Und dann klicke einfach darauf und lass es hier fallen. Und wir werden dich direkt hier ankreuzen lassen. Gehen wir nun zu
einer anderen Sache über , die der Objektinspektor ist, und das ist diese. Im Grunde besteht diese Idee der optischen Spektren
darin , eine Vorschau
aller Objekte im aktuellen Forum zu geben. Im Moment haben wir also nichts, wir haben nichts. Aber wenn ich das zum Beispiel hierher ziehe, wirst
du ein paar Dinge sehen. Lassen Sie mich es einfach ein bisschen erhöhen. Und wir werden einen Warteschlangendialog führen. Lasst uns jetzt noch etwas bewegen, das wir hier haben werden, einen Abstandshalter. Wir haben das QV-Box-Layout, das wir gerade bekommen. Und wann immer wir
etwas hinzufügen , wird
genau hier sein , der Objektinspektor. Also haben wir die Klasse genau hier und das Objekt selbst. Und dies ist eine großartige Möglichkeit, alle aktuellen Elemente,
die wir in
unserer Pike R15-Anwendung haben, im Auge zu behalten aktuellen Elemente,
die wir in
unserer Pike R15-Anwendung haben, im . Jetzt lasst uns löschen. Diese. Haben Sie einen dQ-Dialog, ganz einfach, denn dies ist ein leerer Bildschirm auf
dem wir einen Warteschlangendialog erstellt haben. Gehen wir nun zu
einem anderen Fenster über , das der Eigenschafteneditor ist. Und dieser Eigenschaften-Editor ist ein Fenster, das für alles
verantwortlich ist , was
im Hauptfenster von QT-Designern angezeigt wird . Wenn wir zum Beispiel an diesem Fenster sind, wir alle Elemente genau hier abrufen. Lassen Sie mich es also einfach ein bisschen erhöhen. Nun bewegen wir uns zum Beispiel, es gibt einen Abstandshalter. Wir werden es hier kriegen. Sie haben den horizontalen Größentyp der Ausrichtung
erweitert und der Größenhinweis ist nur um 20 fehlerhaft. Und das ist für den Abstandhalter Drag-and-Drop und andere Sache genau hier, um das Kontrollkästchen zu sehen. Und wenn ich zu diesem zurückkehre, sehen
wir uns den Abstandshalter an. Es ist also derjenige, den
wir hier auf dem Bildschirm zeigen. Dies gibt uns also viele Informationen über das spezifische Element und unsere Bike 35-Anwendung. Lasst uns nun zu ein paar anderen Dingen übergehen. So haben Sie zum Beispiel den Ressourcen-Browser. Und in diesem Fall ist
es eine schnelle Möglichkeit, Ressourcen wie Bilder,
Icons, FIS oder ähnliches hinzuzufügen . Wir brauchen vielleicht eine Stunde Piketty, fünf Bewerbungen. Wir können es genau hier sehen und benutzen. Eine andere Sache ist der Action-Editor. Und dies bietet eine Möglichkeit, Aktionen zu erstellen. Und wenn wir einige Formulare haben, denen wir Aktionen hinzufügen müssen, können
wir die Aktionen einfach hier hinzufügen und sie
vielleicht wieder in unserem Forum verwenden. Das ist es im Grunde genommen für die Fenster, die wir im Pi- oder QT-Designer haben, wir werden sie alle
im Grunde verwenden und eine Tasche mit
fünf Anwendungen mit dieser Widget-Box visualisieren oder erstellen . Objektinspektor, Eigenschafteneditor, Ressourcenbrowser und nationaler Editor. Davon abgesehen ist dies das Ende
des Einführungsvideos über QT-Designer. Wir sehen uns im nächsten.
30. Widget Box: Ordnung, also werden wir in diesem Video eine kurze Einführung meisten Funktionen oder die meisten Elemente geben,
die wir hier haben, und die Widget-Box. Wir werden sie nicht
alle durchgehen , sondern die meisten von ihnen. Vielleicht verwenden wir vielleicht jetzt nächste Projekte, wir können einige Widgets verwenden, die wir nicht benutzt haben. Ja, okay, weil sie alle
die gleiche Idee haben und was sie für verschiedene Benutzer sind. Was wir jetzt tun werden, ist einfach zu erschaffen, lass mich das einfach schließen. Und wieder haben wir den Dialog mit Knöpfen, mit Knöpfen, oder? Und wir haben ohne Knöpfe, das Hauptfenster und die Breite. Jetzt besteht der Unterschied zwischen dem Hauptfenster und dem Widget darin, dass wir bleiben wann haben wir eine automatische Symbolleiste , die sofort auftaucht? Widget, wenn wir das nicht haben. Wenn ich also das Hauptfenster erstelle, haben
wir diese rechte Menüleiste , die genau hier ist. Was wir hier tatsächlich tun können, ist zu tippen. Nehmen wir an, ich brauche Phi, phi drücken Sie die Eingabetaste. Ich darf hier einige Menüs oder Aktionen haben. Wenn ich jetzt darauf drücke, möchte ich
vielleicht Edit wählen. Ich kopiere den QT-Designer von hier aus. Ich werde nicht alle
diese Aktionen hinzufügen , sondern einige von ihnen. Wenn wir also hier edit haben, drücken Sie die Eingabetaste, wir werden am Ende
vielleicht nur Hilfe haben . Also haben wir diese drei. Wenn ich jetzt darauf drücke, kann
ich einige Aktionen hinzufügen. Sie haben also neu und offen und dasselbe. Wenn ich also hier drücke und neu tippe, drücke Enter, und dann haben wir angeboten, was auch hier ist. Beachten Sie nun diese kleine Linie , die wir haben, die Trennlinie. Wir können es tatsächlich mit dem Add-Trennzeichen erstellen. Wenn ich also drauf drücke, werden
wir genau hier eine Zeile haben. Lassen Sie mich einfach weitermachen. Wir haben uns retten und retten. Also füge ich Speichern,
Speichern unter hinzu und füge dann vielleicht ein Trennzeichen und beende dann einfach. Das war's also. Das sind unsere Datei-Leidenschaften. Wenn wir jetzt nur etwas für die Bearbeitung tun wollen, fügen wir
vielleicht Ausschneiden und Kopieren hinzu. Also werden wir ausschneiden und kopieren müssen. Jetzt lasst uns weitermachen und es uns einfach ansehen. Wir können es voranschauen und uns verformen. Geh zu diesem hier. Und wir können es hier sehen. Wir haben unsere Datei und wir haben unsere Bearbeitung genau hier. Und lasst uns das schließen und mal sehen, was wir auch haben. Wenn ich jetzt darauf drücke, sehe
ich unsere Aktion in diesem Eigenschaften-Editor. Wir haben die Warteschlangenaktion, die für das Neue bestimmt ist. Wir haben den Text, den ich besteuern kann, und Tooltip dieses
Verweises auf neue Datei. Drücken Sie auf und wir werden sie hochholen und speichern, speichern unter. Und wie Sie jetzt im Objektinspektor sehen können, sehen
wir alle Aktionen und Menüs, die wir erstellt haben. Wenn wir also weitermachen und uns das ansehen, werden
wir sie alle genau hier sehen. Wenn ich es also vielleicht vergrößere, bekommst du Action,
Aktion Open Separator Action sicher. Ich sollte uns alle Aktionen und Menüs speichern , die wir gerade erstellt haben. Sie werden hier auftauchen. Und wenn wir auf einen von ihnen drücken, werden
wir die Details
dazu in diesem Eigenschafteneditor sehen . Wenn Sie zum Beispiel ein horizontales Layout
benötigen, ein horizontales Layout
benötigen, kann
ich es einfach hier bekommen. Und das ist unser horizontales Layout. Wenn ich zum Beispiel einen Druckknopf brauche, kann
ich ihn holen und direkt hier platzieren. Wenn ich jetzt einen weiteren Druckknopf brauche , der ebenfalls horizontal ist, weil
wir ihn einem horizontalen Layout hinzufügen, werden wir sie horizontal erhalten. Solange ich hinzufüge, werden
Drucktasten horizontal hinzugefügt. Wenn zum Beispiel, lassen Sie mich einfach die Größe davon verringern. Alles klar? Also, in Ordnung, das ist
also unser horizontales Layout. Ich erstelle jetzt ein vertikales Layout, welches dieses ist. Feuer auf UQ-Druckknopf. Ich kriege sie und einen horizontalen Weg. Jetzt lasst uns das alles löschen. Und jetzt überprüfen wir
zum Beispiel das Rasterlayout und fügen ein paar Dinge hinzu. Lassen Sie mich also die Größe vergrößern. Ich füge das hinzu. Und wie Sie sehen können, werden
sie in einer Form von Raster hinzugefügt. Solange ich immer wieder Elemente hinzufüge, werden
sie so hinzugefügt. Gehen wir nun zu einem anderen Element über. Zum Beispiel haben wir das Optionsfeld. Lassen Sie mich das alles einfach löschen. Und Ordnung, also haben wir das Optionsfeld. Wenn ich jetzt nur zwei Optionsfelder nehme, wenn ich auf das erste klicke,
lass mich eine Vorschau anzeigen. Wenn ich darauf klicke, sind
sie automatisch miteinander verknüpft, sodass wir nicht gleichzeitig auf beide
klicken können. Wenn ich also darauf klicke, wird
dies aufgeklickt und so weiter und so weiter. Das ist also für die Optionsfelder. Wenn ich auf
diesen drücke , werden wir es hier sehen. Und das Optionsfeld, das zweite, das wir gerade erstellt haben, wird automatisch nicht offengelegt
sein, was genau hier ist. Und jetzt gehen wir zu den Checkboxen fort. Zum Beispiel. Wenn ich mehrere Checkboxen habe
und es mir eine Vorschau ansehe, werden wir es sehen. Und ich kann mehrere Optionen gleichzeitig chatten. Und damit haben wir kein Problem. Wir
haben also auch ein paar Tasten hier, die Sie überprüfen können, aber das sind die wichtigsten. Lasst uns nun zu ein paar anderen Dingen übergehen. So haben wir zum Beispiel die Haare, das Gruppenfeld, wir haben die Toolbox und Sie haben auch das Kombinationsfeld. Also wir einfach so in unseren grundlegenden Widgets-Videos. Wenn ich zum Beispiel das Kombinationsfeld verwenden muss, wenn ich darauf drücke, können
wir Elemente hinzufügen. Lassen Sie mich zum Beispiel einfach Artikel bearbeiten, und hier können wir einige Artikel hinzufügen. Der erste Punkt wird also Punkt eins sein, Punkt zwei. Und schließlich Punkt 3. Wenn ich jetzt OK und OK drücke, werden
wir es so sehen. Wenn ich also eine Vorschau anschaue, erhalten
wir Punkt 1, Punkt 2 und Punkt 3, und wir können zwischen ihnen wählen. Das ist es also für das Kombinationsfeld. Lassen Sie mich hier über diese Gruppenbox für Kugel sehen, wir können tatsächlich ein paar Dinge hinzufügen. Und das ist nur ein Container, der funktionieren kann. Wir können
mehrere Elemente unter demselben Boxnamen hinzufügen . Lassen Sie mich
das einfach löschen und mit ein paar anderen Dingen fortfahren. Wir haben die Zeilenbearbeitung, die wir früher verwendet haben. Wir haben erkannt, dass Sie nur eine größere Version des Light Edit bearbeiten. Wir haben auch den Nur-Text, und wir haben auch die Spin-Box, die wir
für einfache Ergänzungen und für Ganzzahlen verwendet haben . Wenn wir es zum Beispiel hier in der Vorschau anzeigen und inkrementieren, werden
wir 12345 sehen und so weiter und so weiter. Wir haben auch die Zeit Edit. Und dies wird es uns ermöglichen, dasselbe für die Zeit zu tun. Diesmal statt ganze Zahlen zu haben. Und lasst uns zu den Bildlaufleisten übergehen. Jetzt haben wir die horizontalen und vertikalen Bildlaufleisten. Also lass mich dir einfach den Horizontalen zeigen. Und lass mich die vertikale hier hinzufügen. Lass es uns in der Vorschau sehen. Und wie Sie sehen können, können wir mit diesen Bildlaufleisten genau hierher
gehen. Und lass uns zu den Schiebereglern übergehen. Ich zeige Ihnen den einfachen Schieberegler
, der der vertikale ist. Und lasst uns eine Vorschau sehen. Wir werden so etwas sehen. Wir verwenden all dies bereits in unseren vorherigen Videos, aber dies ist eine einfache Möglichkeit, alles, was wir wollen,
in unsere BY konnte nicht live Anwendung
ziehen und ablegen . Jetzt haben wir etwas zu tun. Wenn wir zum Beispiel etwas mit diesem Schieberegler machen wollen, ist die
ganze Bildlaufleiste hier. Wenn der Benutzer es einfach verschiebt oder einen Antrag einreicht, müssen
wir die Informationen von hier abrufen. Die Texte oder Zeilenbearbeitung oder von D wird Datum hinzugefügt und Uhrzeit hinzugefügt. Also werden wir diese Informationen
zu dem bringen , was wir wollen. Jetzt haben wir auch die Anzeige-Widgets, in denen wir die Labels haben, einfaches Label. Wir haben auch die vertikalen und horizontalen Linien. Dies sind einfache Zeilen, die Sie haben müssen
, wenn wir einige Dinge untereinander trennen möchten . Wir haben auch den Steuerbrowser. Und dies ist eine großartige Möglichkeit, Informationen hinzuzufügen. Und lass es mich einfach überprüfen. Wie du siehst. Dies ist unsere Textbearbeitung und dies ist unser Textbrowser, in dem wir die Informationen nicht ändern können. Sie verwenden eine kann die Informationen nicht ändern. Genau wie die Atmos der Deepak E5-Anwendungen. Und dies ist eine großartige Möglichkeit, nur Informationen in
Form von Steuern hinzuzufügen , die der Benutzer nicht kann. Das war's im Grunde genommen für dieses Video, wir haben uns die Widget-Box angesehen. Wir haben die Layout-Räume, Schaltflächen. Also haben Sean und wir sie uns angesehen, bevor wir mit ihnen zusammengearbeitet haben. Und die vorherigen Videos, in denen wir die grundlegenden Widgets
erstellt und ein paar Textzeilen hinzugefügt haben, neun Erwachsene. Und wir arbeiten, wir haben mit Schiebereglern,
Bildlaufleisten, Labels und vielem mehr gearbeitet . Dies ist jedoch eine großartige Möglichkeit, es in einem QT-Designer zu sehen. Dies ist dieses Tool, das es uns ermöglicht,
es mit der Drag & Drop-Eigenschaft zu erstellen . Jetzt ist es für uns sehr einfach, es zu bauen, aber wir müssen die Funktionen
hinter dieser einfachen Front und diesem Design erstellen . Das war's im Grunde genommen. Jetzt, in den nächsten Videos, werden
wir anfangen, kleine Anwendungen zu erstellen und unsere Pi 35 Antike Designer nutzen können. Wir sehen uns also in den nächsten Videos.
31. Qt-Designer die erste Anwendung: Hallo allerseits. In diesem Video werden wir über QT-Designer sprechen. Wir hatten bereits eine einfache Einführung und wir haben vorgestellt, was QT-Designer ist, wie man es benutzt. Und die Fenster, die wir haben, alle Funktionen, die wir dieses Tool haben. Was wir jetzt tun werden, ist,
eine einfache Anwendung zu erstellen und sie dann einfach in unserer PI zu verwenden, könnte es fünf Anwendungen sein. Wenn wir also eine Warteschlange erstellen, wird
die Designer-Anwendung, die eine UI-Datei erhält. Und wir müssen einfach
dieses UEFI holen und in unseren Python-Code laden. Und um das zu tun, müssen wir einige Methoden anwenden. Und unsere Pike Cutie fünf Anwendungen in einem Python-Skript genau hier. Was ich also machen werde, ist einfach ein Skript zu erstellen. Und ich nenne es QT Designer, erste Anwendung. Und natürlich der Kuchen. Lassen Sie mich es also umbenennen und wir können loslegen. Jetzt werden wir den oberen QT-Designer machen und dann mit dem Erstellen eines Fensters beginnen. Also werden wir ein bisschen warten und es geht uns gut. Wir beginnen mit dem Hauptfenster, das wir haben, und klicken darauf. Und dies ist das Hauptfenster, das wir zuvor besprochen haben. Wir haben hier diese Menüleiste, die wir ändern können. Also werde ich vielleicht einfach hier einreichen. Und nichts zu ausgefallenes. Ich nehme vielleicht nur einen Druckknopf. Wir legen es hier und ein Etikett hier hin. Und dieses Label würde sagen, dies ist die erste von QT-Designer-Anwendung. Und wenn Sie jetzt alles zeigen möchten, können
Sie einfach die Größe vergrößern und loslegen. Jetzt ist das der Druckknopf. Wenn ich es umbenennen oder einfach klicken muss, doppelklicken Sie darauf und senden Sie es vielleicht einfach zum Beispiel ein. Wir haben nichts einzureichen, aber es ist vorerst eine einfache Demo. Was wir jetzt tun werden, ist zu klicken und mit der rechten Maustaste hier zu klicken. Wir sehen uns etwas Layout an. Und dieses Layout ist eigentlich das, was wir früher in unseren Widget-Klassen
besprochen haben . Wir haben das Layout horizontal und das Layout vertikal. Wenn ich also horizontal auf das Layout klicke, bekomme
ich, dass die Fenster die Etiketten und Elemente
sind, die ich hier habe, und meine Pi-Codify-Anwendung oder dieses Fenster beschriftet oder einfach horizontal platziert. Wenn ich jetzt set kontrolliere und lass mich, und das ist der vertikale Weg. Wir haben sie vertikal erwischt. Wir haben dieses Label und das unten rechts hier. Was wir jetzt tun werden, ist, in einen normalen Zustand zurückzukehren. Wir haben gerade angegeben, dass wir dies an dieser Position gemacht haben. Und das haben wir auch genau hier. Wie Sie sehen können, erhöht
ein Phi Semi dies einfach. Aber jetzt werden wir diese Datei einfach in unserem Verzeichnis
speichern, in dem wir unseren Code haben, das Python-Skript, das wir erstellen werden. Also werde ich es tun, ich drücke Control Save, um das zu speichern. Und wir werden dieses Fenster auf den Desktop bringen. Und natürlich schreibe ich mein Verzeichnis. Und in diesem Verzeichnis speichere
ich diese Datei einfach als erste Benutzeroberfläche. Also vielleicht der erste Qt-Designer. Und wenn ich jetzt auf Speichern klicke, werde
ich es hier in meinem Verzeichnis haben. Also wenn ich nachschaue, aktualisiere es
einfach und wir kriegen es genau hier. Wir haben diese Datei,
zuerst, Designer dot u. Jetzt ist diese QT-Designer-UI-Datei eigentlich ein XML-Format. Wir können es hier finden. Und es speichert nur die Daten für uns und eine Form von XML. Ich werde es in Klassen speichern, die so weiter und so weiter benannt sind. Sie können weitermachen und es erstellen, aber das ist nicht praktikabel. Wenn Sie Ihren Code schreiben möchten, können
Sie dies einfach im Python-Skriptpuffer tun. Jetzt haben wir unser 2D-Design oder die Benutzeroberfläche genau hier und wir müssen es in unsere Anwendung laden. Um das zu tun, importieren wir sys. Und natürlich werden wir aus der
Pfeife importieren , einige einige reinigen. Wir werden Q-Widgets und Ihren IC importieren. Wir werden also die UIC verwenden, um
unsere Benutzeroberfläche aus der XML-Datei zu laden , die wir haben. Was wir jetzt tun werden, ist einfach die Q-Anwendung zu
erstellen. Und wir werden unser Gk haben. Sorry, lass mich einfach umschreiben. Es sagt, dass R d Theta. Und wir haben, wir können mit einem Fenster anfangen. Nun wird dieses Fenster tatsächlich
die Q-Anwendung sein , die wir gerade zuvor erstellt haben. Und diese Anwendung ist die UI-Datei, die wir haben. Um das zu tun, schreiben wir einfach UIC und wir drücken und punkten. Wir können hier einfach ein paar Methoden sehen. Und wir werden die Load UI-Methode verwenden , die wir genau hier haben. Und ich lade die erste QT-Designer-Datei. Also erster QT-Designer wi. Und wir sind bereit zu gehen. Wir zeigen es einfach an und führen die App aus. Also bekommen wir jetzt, lassen Sie uns einfach CMD öffnen und einfach die erste Anwendung des
Python QT Designers ausführen , den Pi. Führen Sie dieses Ergebnis in dieses gerade erstellte Fenster aus. Es ist genau das gleiche Fenster, das wir
in unserem QT-Designer haben , wie Sie sehen können. Lassen Sie mich das einfach so anpassen, wie Sie sehen können, ob Sie es visualisieren möchten. Sie können auf Ansehen klicken. Es tut mir leid. Wir klicken hier auf die Vorschau. Und wir können sehen, dass sie genau gleich sind. Nichts ändert sich außer dass dies eine Vorschau ist, ein guter Designer, und dies ist die eigentliche Anwendung und
das Python-Skript, das wir gerade erstellt haben. diese Weise können wir
unsere QT-Designer-Anwendung aus
der UI-Datei erstellen unsere QT-Designer-Anwendung aus , die wir hier aus diesem Tool
extrahieren können . Davon abgesehen ist dies das Ende dieses Videos. Es war nur ein einführendes Video zur Verwendung der UI-Dateien,
die wir in unseren Python-Skripten haben. Und natürlich
werden wir in unseren Projekten mehrere Dateien verwenden. Wir werden mehrere UI-Dateien für
verschiedene Funktionen, verschiedene Funktionen usw. haben. Wir werden sie alle in einem Hauptcode oder
meinem Hauptpython-Skript zusammenführen meinem Hauptpython-Skript , das es uns ermöglicht, zwischen
diesen umzuschalten und alles zu haben, was wir von ihnen wollen. Das ist es im Grunde genommen für dieses Video. Wir sehen uns im nächsten.
32. Ui in Python konvertieren: In Ordnung, also willkommen zurück. In diesem Video zeige ich Ihnen, wie Sie
Ihre UI-Datei in ein Python-Skript konvertieren können . Jetzt können Sie dies tun, wenn Ihr Code oder Ihre Anwendung ziemlich einfach ist oder wenn Sie ein Fenster haben, in dem Sie nur die UI-Datei erweitern müssen und Sie die Elemente
wie die Zeile
nicht wirklich eingeben müssen hinzugefügt, Text, Beschriftungen, so weiter und so weiter. Man braucht nur etwas Einfaches, um die Arbeit zu erledigen. Das können Sie im QT-Designer tun. Also haben wir dieses Hauptfenster aus unserem vorherigen Video. Wir haben es auf einfache Weise. Was wir jetzt tatsächlich tun können, ist es zu retten. Das haben wir also schon erst bis Juli gesagt. Und wie Sie sehen können, haben wir es hier versucht. Wenn wir dies also in ein Python-Skript konvertieren wollen, müssen
wir hier einfach einen einfachen Befehl ausführen. Und der Befehl lautet,
Pi UIC five zu verwenden , da wir QT oder Panky D5 verwenden. Wenn du vorher Pica benutzt, änderst
du einfach fünf in vier. Und es wird einwandfrei funktionieren. Und Sie schreiben einfach
den Namen Ihrer UI-Datei, in meinem Fall ist die erste QT-Designer-Punkt-Benutzeroberfläche. Und Sie müssen 0 für die Ausgabedatei schreiben und Dash o. Und dann schreiben Sie einfach den Namen der gewünschten Ausgabedatei. In meinem Fall nenne ich es vielleicht einfach den gleichen Kuchen QT,
Designer Dot by anstelle von UI. Wenn ich jetzt auf Run klicke, werden
wir es umwandeln lassen. Und wie Sie sehen können, haben wir hier eine neue Datei. Und du kommst darauf ein, dies ist die erste QT Desire Pipe, und es wird gerade aus dieser UI-Datei konvertiert. Und wie Sie sehen können, haben wir alle unsere Elemente und wir haben so viele Dinge hier vor sich. So
können Sie zum Beispiel in diesem Setup deutlich sehen, dass wir unsere zentralen Hölzer haben, wir haben den Druckknopf, wir haben die Beschriftung, nun, wer hat die Menüleiste, Menüdatei, Statusleiste, alle von diesen, die wir in unserem Fenster haben, damit wir sie visualisieren können. Und wir haben eine Menge anderer Dinge wie die SA-Geometrie ist der gesetzte Objektname, so weiter und so weiter. Und dann haben wir die UI „Retranslate“. Und das ist eine einfache Funktion, die einfach alle UI-Elemente in
unsere tatsächlichen Schaltflächen und
Labels übersetzt UI-Elemente in unsere tatsächlichen Schaltflächen und , die wir gerade in diesem Python-Skript erstellt haben. Also extrahieren wir alles aus dem Hauptfenster. So haben wir zum Beispiel von wann window das untere Submit dann extrahiert und in den Text oder den Nur-Text
übersetzen. Wir verwenden das Python-Skript. Das ist es im Grunde genommen, wie man eine UI-Datei einfach in ein Python-Skript
konvertiert. Jetzt, da dies gesagt wird, ist dies das Ende dieses Videos. Wir sehen uns im nächsten.
33. Layout Qt-Designer: Hallo und willkommen zurück. In diesem Video werden wir
die Layouts durchgehen , die wir im QT-Designer haben. Das erste, was ich tun werde, ist ,
einfach unsere vielleicht Vorlagen zu erstellen und eine ohne Schaltflächen auszuwählen. Und das ist eine sehr einfache, die aus dem
Nichts kommt und ein leeres Fenster macht. Und was wir jetzt
in diesem Video vorstellen werden, sind diese Layouts. Also haben wir bereits die Horizontale und Vertikale benutzt. Jetzt werden wir sie alle durchgehen und sie vielleicht in einigen Beispielen verwenden, um sie zu nutzen. Und dann implementieren Sie sie einfach in unseren nächsten von QT fünf Anwendungen. Alles klar, also fangen wir mit dem Erstellen eines Labels an. Ich ziehe es hier per Drag & Drop ab. Und wie wir sehen können, haben wir das Label, das wir gerade bekommen haben. Und jetzt werden wir den Text hier einfach ändern. So können wir entweder die Texte von diesem Anstieg hier ändern, wir können auf das Element doppelklicken und wir werden es einfach ändern. Oder wir
suchen im Eigenschafteneditor nach Text. Und tut mir leid, ich werde darauf drücken und einfach nach Text suchen und wir werden diese Textkriterien sehen, die auf Steuerarbeit hinweisen. Wenn ich jetzt darauf doppelklicke, kann ich es ändern. Zum Beispiel nenne ich diese untere. Und ich möchte auch
die Farbe und seine Hintergrundfarbe ändern . Um das zu tun,
drücke ich genau hier auf diese drei Punkte. Wir werden dies dazu bringen, das
vielleicht das Merkmal unseres Elements zu ändern . Ich werde es mutig machen. Um sich zu ändern, wählen Sie eine andere Farbe für z. B. Und ich werde es vielleicht zentrieren lassen. Und uns geht's gut. Lass es mich einfach ein bisschen größer machen. Und jetzt drücke: Okay, und wir kriegen es genau hier. Das ist Button 1. Wie wir sehen können, können wir es nicht wirklich sehen , weil die Hintergrundfarbe nicht so gut ist. Nun, wir können tatsächlich tun, ist es,
in den Weg zu gehen , um einfach Auto zu tippen. Und wir werden Autofill-Hintergrund haben. Und du kannst es anklicken und überprüfen. Und dann gehen wir in die Palette. Und ich ändere einfach die Palette hier. Ich schaffe es vielleicht lasst uns
ein Blau machen und wir können loslegen. Das ist also Button 1. Und wie wir sehen können, haben wir sowohl das Merkmal
des Elements oder des Textes als auch seinen Hintergrund geändert . Jetzt erstellen wir ein anderes Label. Also mache ich genau das Gleiche, Button 2. Und ich werde das Pellet vielleicht in Rot umwandeln. Und dann aktivieren Sie den AutoFill-Hintergrund. Und wir klicken einfach auf den Text davon. Das ist also der Text. Und ich werde mich einfach anpassen. Also werde ich es zentriert,
fett und vielleicht und vielleicht weiß machen . Ordnung, also das ist unser zweiter Button, den wir haben. Und was wir jetzt tun werden, ist, das Layoutmerkmal zu verwenden, dass wir
einen QT-Designer haben ,
um es vielleicht ein bisschen besser aussehen zu lassen. Also haben wir diese beiden Knöpfe. Nun ist eine Möglichkeit, mit ihnen umzugehen oder sie einfach
zusammenzustellen , darin, sie hier
horizontal oder vertikal auszulegen . Also lass es mich einfach ausprobieren. Und ich werde es tun, einfach waagerecht zu legen. Und wie wir sehen können, haben wir sie auf horizontale Weise. Wenn ich senkrecht
drücke, bekomme ich sie vertikal. Was wir nun auch überprüfen werden, ist die Verzögerung in einem Raster. Und wie Sie sehen können, ist
es nicht die Vorderseite dieser vertikalen. Wenn wir jedoch mehrere Schaltflächen haben, wenn
ich es
zum Beispiel habe, lassen Sie mich dies einfach löschen und es geht uns gut. Das sind also unsere beiden Knöpfe. Und was ich jetzt mache, ist das einfach zu kopieren. Ich nenne es Button 3. Und der letzte ist der Button für es tut mir leid. Ich kopiere das. Und ich werde es als vier haben. Alles klar, jetzt haben wir alle von ihnen. Wenn ich sie einfach zusammennehme und auf das Raster drücke, werde ich sehen, dass sie sich in einer Form von Raster befinden. Und Phi will sie nur zwei mal zwei Tisch haben. Wir werden es so haben. Nehmen wir an, wir haben ein paar Etiketten für diese Buttons. Es sind keine wirklichen Buttons, sind eigentlich Labels, die wir gerade erstellt haben. Und ich werde das löschen und wir können loslegen. In Ordnung, also haben wir alle unsere Muster und sie sind tatsächlich mit Etiketten gekennzeichnet,
wie gesagt, sie sind kein Q-Push-Button. Aber um des Arguments willen ist anzunehmen, dass wir diese als Knöpfe haben. Und ich werde es tun, das einfach zu mögen. Ich nehme ein paar Etiketten. Und wir werden sie einfach wie diese einfache Form haben. Und jetzt können wir das alles nehmen und vielleicht nur das Layout in einem Formularlayout verwenden. Und wir werden es auf diese Weise kriegen. Wenn ich es ein bisschen vergrößere, werden
wir es einfach sehen. In Ordnung, so können wir diese Arten von Formularen
erstellen und vielleicht die Beschriftungen auf diese Weise
in die entsprechenden Schaltflächen zuordnen . Nehmen wir an, dass ein Fenster ziemlich klein ist. Und wir verwenden tatsächlich
die gesamte Länge genau hier von der Höhe. Und jetzt können wir vielleicht ein
anderes Layout abbilden , das vielleicht diesem ähnelt. Also habe ich diese beiden Etiketten. Und ich nehme an, ich habe q-Drucktasten. Und ich werde diese beiden Druckknöpfe genau hier haben. Und nehmen wir an, dass ich sie in diesem Formularlayout gesehen habe. Was Sie jetzt tatsächlich tun können, ist, diese jetzt horizontal zu sortieren. Wenn ich das also platziere, werden
wir es auf diese Weise kriegen. Lasst es uns jetzt ein bisschen erhöhen. Und wir kriegen unser Formular so. Das war's also. Im Grunde ist dies die Grundidee der Layouts und wie wir sie verwenden können. Und die letzte Bemerkung vielleicht hier. Nehmen wir an, Sie haben einen Druckknopf, den Sie hinzufügen müssen. Vielleicht kannst du es hier einfach per Drag & Drop ziehen und du siehst es genau hier. Und nehmen wir an, Sie müssen
es vertikal hinzufügen , genau hier, tut mir leid, auf horizontale Weise zwischen diesen beiden Formen können
Sie einfach
weitermachen, es nehmen und genau hier platzieren. Und Sie können sehen, dass es den Platz
einnimmt, der dafür benötigt wird. Und das ist es im Grunde genommen für das Layout des QT-Designer-Tools. Davon abgesehen ist dies das Ende dieses Videos. Wir sehen uns im nächsten.
34. Tab bearbeiten: Hallo und willkommen zurück. In diesem Video werden wir in
die Tab-Funktion eingeführt , die wir im QT-Designer-Tool haben. Das erste, was ich tun werde, ist, einfach einen Dialog mit Schaltflächen zu erstellen. Und es kommt mit den Drucktasten OK und Cancel. Lassen Sie es mich also einfach ein bisschen größer machen. Und was wir tun werden, ist dies zu verfolgen und hier abzulegen. Was wir jetzt tun werden, ist einfach ein paar Dinge hinzuzufügen. Also füge ich zum Beispiel Labels hinzu. Also werde ich Etiketten haben. Dies wird also als eins,
Stufe zwei, Stufe drei und Arbeit für bezeichnet . Die erste Ebene zeigt also
beispielsweise den Vornamen an. Also erstellen wir ein einfaches Formular, LastName. Und dann haben wir zum Beispiel E-Mail und Telefonnummer. Und wir müssen los. Was wir jetzt tun werden, ist einfach Linienerwachsene für alle von ihnen zu erstellen. Also haben wir diese 1, 2, 3 und 4. Und ich ziehe
sie einfach alle und platziere sie in eine solche Form. Es ist also super einfach zu machen und sehr praktisch zu verwenden um eine einfache Form wie diese zu erstellen. Was wir jetzt tun werden, ist einfach eine neue Zeilenbearbeitung hier hinzuzufügen. Nehmen wir zum Beispiel an, wir brauchen eine neue Information, die Adresse. Also werde ich es hier ziehen und ablegen. Und ich kopiere einfach ein Etikett. Und ich füge
es einfach hier an den entsprechenden Ort ein. Und das ist die Adresse. Was wir jetzt tun werden, ist, dies einfach in der Vorschau zu sehen. Und wir werden ein einfaches Problem
finden, das wir beheben werden. Wie Sie sehen können, wenn der Benutzer einige Informationen
eingibt. Also haben wir den FirstName, LastName. Und wenn ich jetzt die Tabulatortaste drücke, um zum nächsten zu wechseln , überspringe
ich die Adresse und gehe zur E-Mail. Also zum Beispiel zuerst example.com, dann die Telefonnummer. Und wenn ich noch einmal auf den Tab drücke, werde
ich einfach an die Adresszeile Edit
geschickt, wo sie einfach die Adresse platzieren können. Und es ist sehr nervig für Benutzer,
solche Dinge zu haben , da es sich um
FirstName, LastName, Adresse, E-Mail und Telefonnummer in dieser Reihenfolge handelt. Es gibt jedoch
den Vor- und Nachnamen dann zur E-Mail, Telefonnummer und Adresse. Und das liegt daran, dass wir
diese Adresse hinzugefügt haben, nachdem wir das gesamte Formular erstellt haben,
und wir haben es wie eine Ergänzung zu der ursprünglichen Form, die wir haben. Eine Möglichkeit, damit umzugehen, besteht
darin, die Reihenfolge der Registerkarte Bearbeiten zu verwenden. Und wenn ich darauf drücke, kommen
wir zu 1, 2, 5, 3 und 4. Also werde ich sie einfach so ändern. Also wieder weniger Seite, wir haben hier 1, 2, 3, 4 und 5. Jetzt sind wir bereit zu gehen. Wir können das einfach schließen und lassen Sie uns zur Vorschau übergehen. Und wenn ich jetzt Tab präsentiere, werden
Sie sehen, dass wir in der chronologischen Reihenfolge
oder in der vertikalen Reihenfolge
gehen , die wir in unserem Formular haben. Dies ist also eine
einfache Funktion, die wir als sehr mächtig verwenden können, besonders wenn Sie in
einem Formular feststecken und nicht wirklich wissen, wie Sie dies ändern können. Anstatt einfach das gesamte Formular zu
löschen und es erneut zu tun, hilft Ihnen
dies vielleicht das gesamte Formular zu
löschen und es erneut zu tun, dabei, mit diesem Formular das zu tun, was Sie wollen. Das ist es im Grunde genommen für dieses Video. Wir sehen uns im nächsten.
35. Buddies definieren: Hi, also willkommen zurück. In diesem Video werden wir diskutieren, wie wir Körper und QT-Designer
erstellen können . Körper sind also normalerweise eine Verbindung zwischen einigen Widgets und sie befinden sich normalerweise zwischen der Warteschlangenbezeichnung und einem anderen. Elemente wie DQ-Linienbearbeitungen oder ein Kombinationsfeld. Sie Steuergutschrift, so weiter und so weiter. Und diese Verbindungen sind tatsächlich da, um eine schnelle Tastenkombination bereitzustellen. Und das ist
der Zeitpunkt , an dem der Benutzer sich schnell bewegen möchte. In unserer Form. Sie können diese Tastenkombinationen verwenden und helfen Ihnen dabei, den Weg zu gehen. Durch die Einstellung von Körpern verbessern Sie also die Benutzerfreundlichkeit der Direkten, die Sie haben, und verbessern Sie die Gesamtleistung Ihrer Bäckerei-Fünf-Anwendung. Beginnen wir nun damit, diese Körper zu erstellen. Um dies zu tun, müssen Sie einfach mit der rechten Maustaste auf jedes Etikett klicken und am Anfang drücken. Also werden wir das gleich hier hinzufügen. Und was wir tun werden, ist,
dieses kaufmännische Und-Und-Zeichen in alle Labels einzufügen , die wir haben. Einige werden es hier hinzufügen. Und ich mache genau das Gleiche für alle von ihnen. Und schließlich: Was wir tun werden, ist, diese Beschriftungen
einfach mit der Linie zu verbinden , die wir haben. Um dies zu tun, müssen wir einfach auf Körper bearbeiten klicken. Klicken Sie dann darauf und verbinden Sie sich
einfach mit dem entsprechenden Label. Also klickst und lege es ab, oder? Das war's also. Im Grunde genommen können Sie sie so verbinden. Jetzt haben wir eine Verbindung zwischen all diesen. Und wenn ich auf Speichern klicke oder nur eine Vorschau vorerst. Und was wir jetzt tun werden ist einfach auf den ersten zu drücken, der sich im FirstName befindet. Wenn wir nun genau hier zur E-Mail gehen wollen, können
wir feststellen, dass es mit dem Buchstaben E beginnt Wenn wir
also
von der ersten Zeile in der vierten Zeile springen wollen . Wir können entweder dreimal tippen und wir können dorthin gelangen, oder wir können einfach auf den
Buchstaben a drücken , weil er mit E beginnt. Und wie Sie sehen können, haben
wir eine einfache Zeile den ersten Buchstaben von allen. Wenn ich zum Beispiel zum Buchstaben P gehen muss, mache
ich genau das Gleiche wie zuvor. Wenn ich zum Beispiel beim ersten bin, gehe
ich hier zum Buchstaben a um. Das war's. Grundsätzlich können wir so Kumpels definieren und einfach
eine bessere Anwendung für Luftreiniger für den Benutzer erstellen . Davon abgesehen ist dies das Ende dieses Videos. Wir sehen uns im nächsten.
36. Bearbeiten von Slots und Signalen: Hallo und willkommen zurück. In diesem Video werden wir genau hier darüber sprechen, nämlich im Grunde genommen die Bearbeitungssignale und Slots. Dies wird uns also helfen, unsere Pi 35-Anwendungen in
Bezug auf die Manipulation oder das
Hinzufügen einiger Funktionen in unsere Tasten genau hier zu verbessern Bezug auf die Manipulation oder . Wenn wir also diesen Button haben und wir zum Beispiel das Formular einreichen müssen, haben wir hier erste Informationen. Wir können einfach drauf klicken, okay? Und sie sollten von mir verschwinden. Oder vielleicht erscheinen wir einfach eine Nachricht, die angibt, dass wir das Formular erhalten haben und der Antrag erfolgreich eingereicht wurde. Nun könnte ein anderes Beispiel sein, dass wir das alles einfach löschen. Und wir fangen von vorne an. Was ich mache, ist einfach zwei Textbearbeitungen zu erstellen. Das ist also Text Edit One. Ich werde es ein bisschen erhöhen. Ich kopiere es und füge es hier ein. Layout in horizontaler Weise. Und wir sind bereit zu gehen. Also das war's im Grunde, lass mich hier einfach ein paar Buttons hinzufügen. Also füge ich zwei Knöpfe hinzu. Also hier haben wir einen Druckknopf. Und das ist der erste. Wir nehmen noch eine für die Sekunde. Was wir jetzt tun werden, ist diese
auch vertikal, tut mir leid, horizontal. Und ich denke, wir sind gut, eine Gunna zu machen sie so zu
sehen. Was wir jetzt machen werden, ändert
dies in ein Bild, das gerade angepasst wurde. Ich werde das in die vielleicht klare Steuer umwandeln. Und dann haben wir das Gleiche hier, klare Texte zu. Was wir jetzt tun werden, ist, einfach zum Schlamm bearbeiten zu
gehen und dies zu bearbeiten. Wenn Sie diesen Druckknopf unterdrücken oder anklicken, löschen
wir den Texteditor genau hier. Was wir also tun werden, ist einfach weiterzumachen, Okay, jetzt haben wir eine Beziehung zwischen diesen beiden. Wann immer wir klicken und den Druckknopf drücken, werden
wir das hier löschen. Und wir werden hier genau das Gleiche machen. Immer wenn wir auf den Taster zwei klicken, werden
wir einfach auch alles
löschen, was wir von hier aus haben. Lasst uns jetzt zurückgehen und es überprüfen. Wenn ich hier irgendetwas drücke oder schreibe. Und ich habe auch ein paar Dinge hier. Wenn ich einen Klartext eindrücke, sehe
ich, dass mein Text auf einmal aus dem Text erscheint. Und wenn ich Exit zwei vorlege, werde
ich genau
das gleiche Ergebnis haben wie zuvor. Das war's also. Grundsätzlich haben wir noch ein paar Funktionen. Wenn Sie also vielleicht
darauf klicken möchten und Sie können alle Funktionen sehen, die wir haben. Und wenn ich auf diesen drücke, werden
wir natürlich genau das Gleiche sehen, was wir hier haben, drücken Sie den Knopf. Wenn ich nun darauf drücke und es vielleicht zum Druckknopf schaffe, werden
wir sehen, dass wir Steuern hinzugefügt haben und das Ergebnis ein indikativer Warteschlangen-Druckknopf ist. Das war's im Grunde genommen. Was wir jetzt tatsächlich tun können, ist vielleicht zu versuchen, diese drei miteinander zu verbinden. Was ich jetzt tun werde, ordnen Sie diese Steuer
einfach dem Druckknopf
zu, den wir haben. Ich benutze einfach den geänderten Text. Und wo sich der Text in der Textbearbeitung ändert, klicken
wir auf den Druckknopf, oder? Das ist also unsere Beziehung hier. Und natürlich werde ich jetzt tun, dass wir es vielleicht für alle Elemente schaffen. Also werde ich sagen, dass wir, wenn wir auf diesen Knopf klicken und diesen Knopf drücken, auch auf den Taster zwei klicken und so weiter und so weiter. Was wir hier sagen werden, ist, dass wir, wenn wir auf den Druckknopf zwei klicken, einfach die Nachricht von der ersten
löschen werden . Jetzt lasst es uns eine Vorschau ansehen. Und wenn ich hier welche
besteuert werden kann und ich hier etwas schreibe, sollten
wir sehen, wie dies verschwindet. Denn was wir tatsächlich getan haben, ist, dass wir
drei Beziehungen zwischen unseren vier Elementen aufgebaut haben . Der erste ist also, dass wir, wenn wir in
den Text schreiben und feststellen, dass
wir mit Hilfe von detects geänderten Funktion diese löschen oder, tut mir leid, wir werden auf den Druckknopf klicken. Und wenn darauf geklickt
wird, wird dies auch abgeschnitten. Und natürlich besteht die letzte Beziehung
darin, dass
wir, wenn darauf geklickt wird, auch die Texte darin löschen werden. Das war's also. Grundsätzlich können Sie diese Funktionen so nutzen. Und es sind in
unsere Edit-Texte Slug-Kriterien integriert . Sie haben also mehrere Funktionen, die Sie verwenden können. Und so mächtig, die meisten von ihnen, wir sie vorher benutzen, wie zum Beispiel der Text geändert wurde. Wir haben auch ein paar Dinge von
hier aus benutzt , wir haben das Set Jack angeklickt, wir haben das Show-Menü umschalten, so weiter und so weiter. So können Sie mit
diesen Funktionen beginnen, die wir hier haben,
einige kleine Anwendungen zu erstellen mit
diesen Funktionen beginnen, die wir hier haben,
einige kleine Anwendungen . Das ist im Grunde genommen für dieses Video. Wir sehen uns im nächsten.
37. Dice: Alles klar, also hallo und willkommen zurück. In diesem Video werden wir unser Projekt vorstellen, das ist das Würfelspiel. Wie Sie sehen können, haben wir hier zwei Würfel. Und wir müssen auch Claire. Also haben wir Spieler eins und Spieler zwei. Jeder Spieler hat eine Punktzahl, und dies ist ein Endergebnis. Und sie haben auch den aktuellen Punktestand der Runde. Beginnen wir nun mit dem Roll-Button genau hier. Wenn der Benutzer also auf Drohnen drückt, damit er mit Spieler eins beginnt, können
Sie sehen, dass die aktuelle Punktzahl und was auch immer wir drei plus drei haben. Und wenn wir noch einmal drücken, haben
wir drei plus 25 plus alle sechs. Wir kriegen hier 11. Jetzt ist jedes Mal, wenn der Benutzer zwei Optionen hatte, eine Rolle oder ein Hold. Wenn er sich nun für Hold entscheidet, würde von hier aus
alles in die Partitur übertragen. Wenn ich also drücke und halte, werden
wir sehen, dass wir 11 hier haben. Und das ist ein Ort, an dem man sich wenden kann. Also haben wir uns verpflichtet, einmal zu rollen, 4 plus 5, haben wir neun. Nun, das eigentliche Ding in diesem Spiel ist, wer einen bekommt, verliert einfach sein eigenes. Wenn ich also weiter hier drücke, kann ich sehen, dass wir hier 0 haben? Denn wenn ich zum Konzert gehe und es visualisiere, können
wir sehen, dass Würfel 5 und 1 sind. Also hat Spieler 2 einen Sterben bekommen, eins. Und deshalb ist es eine tatsächlich verlorene Route. Also lass es mich nochmal versuchen. Wir haben 11 Hold Dann da zu halten. Das war's also. Im Grunde die Idee dieses Spiels. Wer auf den 101. kommt, ist der Gewinner. Also haben wir 11 und 16. Und Platz eins hat gespielt, und er hat genau hier einen bekommen. Und das ist der Grund, warum sich nichts geändert hat. Wenn ich nochmal anrufe. Und Spieler zwei hat auch eins bekommen. Und jetzt können wir uns wieder anmelden. Wir haben 34 für Spieler zwei. Das sind also sieben. Rollen Sie erneut, 2 und 4, 6 plus 7, 13. Und wenn wir festhalten wollen, können wir sie festhalten. Das war's also. Grundsätzlich. Das ist es. Und jetzt haben wir tatsächlich getan, dass wir das When Bone is“ oder den Wind-Score
verkürzt haben. Ich habe es 25 nur wegen des Einführungsvideos gemacht. Aber für die nächsten Videos werden
wir es als 100 verwenden. Das war's also. Im Grunde genommen ist dies die Idee dieses Spiels. Wer zuerst ein Endergebnis erreicht, wann's. Und wir haben die Rolle- und Halte-Taste. Wir haben auch die neue Spielfunktion genau hier. Und das ist, um ein neues Spiel zu erstellen, wann immer wir wollen. Wenn ich also mitten in einem Spiel wie diesem bin, können
wir sehen, dass wenn ich ein neues Spiel drücke, auf 0 zurückgesetzt
werde. Das ist es im Grunde genommen für das Würfelspiel. In den nächsten paar Videos beginnen
wir mit
dem Aufbau des Front-Ends und gehen dann mit
den Funktionen jedes einzelnen Videos zum Backend. Wir haben ein neues Spiel, eine neue Rolle und ein neues Gespräch. Und wir haben auch einige zusätzliche Funktionen, die wir entdecken werden. Aber da dies gesagt ist, ist
dies das Ende dieses Einführungsvideos um Sie in den nächsten Videos zu sehen.
38. Dice Building: Also willkommen zurück. In diesem Video beginnen wir mit dem Aufbau unseres Würfelspiels, das wir zuvor gesehen haben. Und wir beginnen damit, diese Bilder zu importieren. Also habe ich die Krawatte S1, 23, 456. Wir werden diese also
als Zufallszahlen verwenden , wie wir bereits besprochen haben, um den Benutzern zu zeigen, welche Würfelnummer sie erhalten haben. Und wir werden anfangen, unsere Anwendung zu erstellen. Nun, das erste, was ich tun werde, ist zu importieren, sagt, ich werde von Pi 35 importieren, diese QT-Widgets, alles. Und wir werden von Pi codify importieren. Ich importiere das von QT GUI. Auch alles und Säuren , die wir importieren werden, auch von Bike 35, der QT-GUI, die wir haben, und Cutie Core vorerst. Und dann werden wir endlich von
Pica 35 importieren oder einfach nur beschränken, fügen Sie es
einfach hinzu, richtig, also bekommen wir, ich zeige aus Piketty vierte Kategorie, alles. Und wir werden sie später benutzen. Aber jetzt fangen wir mit der Anwendung an. Also baue ich die Q-Anwendung wie gewohnt. Und ich werde unser Warteschlangen-Widget erstellen. Ich lege den Fenstertitel fest. Setze also Fenstertitel in Würfelspiel. Und dann werden wir die Breite auf 1000 einstellen oder fixieren. Also das Set. Was wir jetzt tun werden, ist, das
Stylesheet unseres Fensters
oder unserer Widgets vorerst auf Hintergrundweiß zu setzen Stylesheet unseres Fensters .
Ich glaube, es ist immer weiß, aber wir werden es hinzufügen. Und was wir jetzt tun werden, ist unseren ersten Button zu erstellen, das ist der neue Spiel-Button. Und es wird in einer Kiste sein. Und wir werden einfach die
Verzögerung aus unserem Widget als Funken einstellen . In Ordnung, um das zu tun, erstelle
ich den neuen Spielknopf vom Typ q, um ein neues Spiel zu werden. Und dann werden wir haben, oder wir setzen den Cursor
dieser Schaltfläche so, dass er den Handcursor zeigt. Und das wird uns helfen. Ich zeige dir zuerst den Knopf ohne das. Und dann werden wir es hinzufügen und sehen, wie es funktioniert. Was ich also machen werde, ist, mich
einfach die Box hier erstellen zu lassen. Also Box, es wird Q VBox-Layout sein. Und was wir dann tun werden, ist dieses Widget einfach in die Box
einzufügen. Stimmt's? Was wir jetzt tun werden, ist einfach das Layout
unseres Widgets so festzulegen , dass es entsorgt wird, das wir genau hier haben. Und dann
beenden wir einfach das System, indem wir die App ausführen. In Ordnung, also geht's uns gut. Nun, wenn ich dieses Würfelspiel,
den Kuchen, starte , werden wir kriegen, ich mag das, oder? Also haben wir das Fenster nicht gezeigt. Wenn ich es jetzt noch einmal starte, würfelspiel dot, py. Wir kriegen so etwas. Dies ist der neue Spiel-Button, den wir haben. Und es sieht im Moment nicht so gut aus. Also werden wir den Stil dieses Musters verbessern. Was wir jetzt tun werden, ist einfach
einen Zeiger auf diesen Cursor oder einen Zeiger auf diese Schaltfläche hinzuzufügen . Beachten Sie also, dass immer dann, wenn ich auf diesen neuen Spielknopf stoße, nichts mit meinem Cursor passieren wird. dies zu verbessern, fügen
wir einfach einen neuen Spielcursor hinzu. Wir werden Cue-Cursor und zu b von q t dot q t,
und dann das Zeigen und den Cursor hinzufügen . Alles klar, jetzt haben wir unseren Cursor. Lass mich das nochmal machen. Und wir werden sehen, dass wenn ich mich über diesen Knopf bewege, es ein zeigender Handcursor sein wird, nicht wie die normale Vorsicht, die wir haben. Alles klar, also verbessern wir das. Ändern wir nun den Stil oder das CSS dieser Schaltfläche. Also lass mich weitermachen und es hier machen. jetzt zu CSS und Piketty Five tun müssen, Was Sie jetzt zu CSS und Piketty Five tun müssen, ist
einfach das Set-Stylesheet zu verwenden, genau wie das, das wir hier verwendet haben. Stellen Sie also Stylesheet und zwei und dann nach oben und Abhängigkeiten ein. Jetzt werde
ich in diesen Klammern unser Stylesheet erstellen, und es wird von diesem Typ sein. Jetzt fange ich mit der Position an. Also werde ich es absolut machen. Und lassen Sie mich einfach damit beginnen zu sagen, dass Sie nicht wirklich auf die CSS-Details eingehen müssen. Du kannst das einfach von hier aus kopieren. Und wenn Sie damit nicht vertraut sind, kein Problem, können
Sie einfach
weitermachen und es in Ihr Set Size Sheet legen. Denn am Ende des Tages ist dies eine Pfeifenreinigung natürlich nicht SCSS, aber es sieht schöner aus, nur eine gut aussehende Anwendung zu haben. Wenn du also gut bist, kannst
du mit mir weitermachen, solange du willst. Also Breite, wir haben eine Breite von 200 Pixel. Du wirst 50 Prozent haben, oder? Und ich werde die Farbe dabei haben. Sieht gut aus. Was wir jetzt tun werden, ist einfach nur
die Schriftfamilie am Fuß zu haben . Und dann wird
die Schriftgröße 20 Pixel betragen. Und ich muss Text in Großbuchstaben umwandeln. Und schließlich stelle ich das Schriftgewicht und auf 300 ein. Alles klar, also lass mich das einfach nochmal ausführen. Und wir haben hier ein paar Probleme, oder? Also habe ich vergessen, dieses Semikolon hier hinzuzufügen. Und lass mich das einfach nochmal machen. Und wir bekommen unseren Button anzeigt, dass es sich um ein neues Spiel handelt. Wie wir sehen können, haben wir den Knopf. Es ist ein gut aussehender Knopf, aber wir können die Grenzen immer entfernen. Also lass es mich einfach hier hinzufügen. Also muss ich die Grenze auf keine setzen. Stimmt's? Also glaube ich, dass wir jetzt gut sind. Okay, das war's also. Im Grunde genommen ist dies der erste Button. Eine Edition könnte darin bestehen, die Schriftgröße zu erhöhen, wenn wir den Mauszeiger über diesen Button bewegen. das zu tun, können wir es
tatsächlich auf ziemlich einfache Weise tun. Wir werden hier einen Schwebeweg hinzufügen. Und wir erhöhen die Schriftgröße von 20 Pixel auf 30 Pixel. Und jetzt lass mich diesen Lauf einfach schließen. Und wir werden genau das Gleiche bekommen wie zuvor. Wenn ich jedoch den Mauszeiger über diesen fahre, die Schriftgröße erhöht sich
die Schriftgröße auf 30 Pixel und einen Satz von 20 Pixel. Dies ist im Grunde genommen für den ersten Button. Ich weiß, dass es lange gedauert hat, nur mit einem Knopf, aber Thermometer, wir haben
die ganze Anwendung mit der Box gebaut und so weiter. Jetzt, im nächsten Video, erstellen
wir zunächst
die Spielerseite und fügen die Würfel hinzu. Das ist es im Grunde genommen für dieses Video. Wir sehen uns im nächsten.
39. Dice Spieler hinzufügen: In Ordnung, also willkommen zurück. In diesem Video beginnen wir dem
Aufbau der Spielerseite. Beginnen wir also damit,
die Labels von Spieler eins und Spieler zwei zu erstellen . Also mache ich das genau hier. Und ich muss hierher kommen Player One und zwei Labels
bauen. Hier haben wir gerade den neuen Spiel-Button gebaut. Also muss ich sagen, naja, dann den neuen Spielknopf. In Ordnung, also geht's uns gut. Jetzt sagte ich, wir werden ein Paar ein Label
erstellen und es wird wie gewohnt gekennzeichnet sein. Und es wird Spieler eins sagen. Und dann haben wir Player 2. Dasselbe, um Platon zu beschriften und anzuzeigen. Alles klar. Was wir jetzt tun werden, ist,
diese einfach in eine Art Layout einzufügen , das ist ein Rasterlayout, weil wir
so viele Elemente haben , die wir hinzufügen müssen. Und wir können sie nicht vertikal oder
horizontal hinzufügen , weil wir sie in einer Form von Tabelle benötigen. Das erste, was ich tun werde, ist, einfach
ein Raster zu erstellen , wird ein QC-Gitter-Layout sein. Und jetzt füge
ich in diesem Raster Spieler 1 und Spieler 2 hinzu. In Ordnung, um das zu tun, fügen
wir ein Widget hinzu. Und dieses Widget wird als Spieler eins sein und ein weiteres Widget für Platon hinzufügen. Wenn ich jetzt weitermache,
lass mich das einfach schließen und es noch einmal versuchen. Wir können sehen, dass nichts passiert ist, weil wir diesen Code
nicht wirklich in das Layout aufgenommen haben. Und wir haben bereits ein Layout für diesen Winter, das ist die Box. In Ordnung, um damit fertig zu werden, können
wir dieses Raster
einfach in die Bossa erstellen oder hinzufügen, die wir haben. Also mache ich das genau hier. Also box das, füge Layout hinzu und wir fügen den Code hinzu, den wir gerade erstellt haben. Alles klar, wenn ich das jetzt noch einmal ausführe, werde
ich sehen, dass wir den neuen Spielknopf
haben und Spieler eins und Spieler zwei haben. Beachten Sie nun, dass sich diese in einem Raster befinden, aber sie sehen vertikal in diesem Raster aus. Wir haben das Paar eins hier und zwei hier. Was Sie nun tatsächlich dagegen tun können, ist diese
einfach horizontal hinzuzufügen. Das Raster wird also nur in einer Standardweise
unter Verwendung der horizontalen oder vertikalen zuerst
erstellt . Was Sie nun tatsächlich tun können, ist, diesem Raster Parameter hinzuzufügen. Also brauchen wir Spieler eins bei Index 0. Das ist also der Streit. Und wir haben, wir brauchten bei Column Nullen. Alles klar, also wäre Spieler 2 in Zeile 0 und Spalte eins dafür. Wenn ich jetzt weitermache und das noch einmal mache, bekomme
ich so etwas. Und sie sind nicht wirklich zentriert. Was wir dagegen tun können, ist, sie einfach zu zentrieren, wenn wir diese Schaltflächen erstellen. Wir können das also tun, indem wir einfach einen Spieler
schreiben, der die Ausrichtung festlegt. Und dafür werden wir QT-Code verwenden. Also Süße, geh Punkt QT und richte dann Mitte aus. Dann machen wir genau das Gleiche für die zweite. Cutie, Süße, die sich ausrichten, rechts, zentrieren. Und wir sind bereit zu gehen. Jetzt schließen wir diesen Lauf. Und wir werden sehen, dass Spieler eins und Spieler zwei
auf die Form des Kredits zentriert sind, den wir haben. In Ordnung, das ist es im Grunde genommen für Spieler 1 und Spieler 2. Ändern wir nun die Größe mit CSS. Was ich also tun werde, ist,
einfach die Funktion zu verwenden, die wir
früher SAT-Stylesheet verwendet haben früher SAT-Stylesheet es
zu öffnen, und wir werden anfangen, es zu bauen. Alles klar, also das erste, was ich tun werde, ist zu senden, die Schriftgröße auf 40 Pixel zu
setzen. Dann verwende ich einfach
die Text-Transformation und in Großbuchstaben. Und dann
haben wir einen Buchstabenabstand zwischen den Buchstaben. Wir haben also Platz von zwei Pixeln. Ich denke, es wird gut sein. Und dann müssen wir die Marge Top verwenden, um einfach einen Spielraum
zwischen den Spielern und dem Button oder einem neuen Spiel zu unterscheiden oder hinzuzufügen . Und ich füge vorerst 20 Pixel hinzu. Dann haben wir den Rand unten. Es wird 10 Pixel sein. Und die Position wird relativ sein. Stimmt's? Ich glaube, wir sind jetzt gut. Wir haben vorerst nur das Fontgewicht von 100. Nun lass uns das noch einmal schließen. Und wir kriegen so etwas. Es sieht ein bisschen schöner aus als das zuvor. So erhöhen wir die Größe, Schriftgewicht und die Position davon. Alles klar, jetzt machen wir genau
das Gleiche für Platon. Also kopiere ich es, füge es ein und ändere es einfach hier. Alles klar, jetzt offenlegen und visualisieren Sie es noch einmal. Und wir müssen zu gehen, also haben wir unsere Spieler. Dies ist die Arbeit, die wir nutzen werden. Was wir jetzt tun werden, ist einfach die Punktzahl beider Spieler
hinzuzufügen. Also haben wir hier und hier Punkte. Und wir werden genau das Gleiche tun wie zuvor. Wir erstellen eine Beschriftung und weisen
dann ein Ausrichtungszentrum zu. Und dann werden wir den Stil ändern. Also nenne ich es Score eins. Es wird von Q-Label sein und es beginnt mit 0. Und wir haben Score, um auch Q-Label zu markieren und mit CO2 gesucht. In Ordnung, also kopiere ich
das und die Basis oder zwei Mal. Das ist vier Punkte eins. Und das ist für Score zwei. Und jetzt, wenn ich das noch einmal mache, kriege
ich etwas wie, tut mir leid, wir haben es nicht wirklich hinzugefügt, um es zu verschlechtern. Lassen Sie mich also weitermachen und es den Abfragekriterien hinzufügen. Denken Sie nun daran, dass der erste Parameter
das eigentliche Element von Widgets ist , das wir hinzufügen müssen. Dann haben wir zwei weitere Parameter. Der erste ist für die Zeile, ich brauche sie bei true, tu das bei Index eins. Und dann fügen wir hier 0 hinzu. Und wenn ich die Punktzahl zwei hinzufügen muss, fügen
wir es natürlich auch in Zeile 2 hinzu, die sich bei Index eins befindet. Und die Spalte sollte bei Index 12 liegen. In Ordnung, also lass mich das jetzt schließen und lass uns nochmal laufen. Und wir kriegen unsere Labels für die Punktzahl von Spieler eins und Spieler zwei. Jetzt passen wir den Stil von ihnen an. Also mache ich es ganz schnell hier. Nachdem ich den Bootdiskurs erstellt und die Ausrichtung festgelegt
habe, füge ich hier einen Punktestand hinzu, das Stylesheet gesetzt wird. Und wir werden dieses Mal damit beginnen , genau hier zu
bauen. Wir haben also vorerst die Schriftgröße von nur 80 Pixel. Dann haben wir das Schriftgewicht wie zuvor von 100. Und wir werden die Farbe haben. Ich benutze diese Farbe vorerst für D. Also D, und denke, sieht gut aus. Dann haben wir vorerst den Rand von 130 Pixeln. Alles klar, ich denke, wir sind bereit zu gehen. Lass mich diesen Lauf einfach noch einmal schließen. So können wir sehen, dass wir
unsere Nummer bekommen haben , die vorerst 0 hat, für Spieler 1. Jetzt passen wir das an. Also kopiere ich die Punktzahl eins und ändere ihn
einfach in Scott, um handgezeichnet zu schließen. Und wir werden sehen, dass wir unsere Knöpfe haben. Spieler One werden als Labels und diese Punkte auch bezahlt. In Ordnung, das ist es im Grunde genommen, um
unsere beiden Spieler um einen oder zwei Spieler und den Punktestand aufzubauen . Jetzt, im nächsten Video, bauen
wir die Knöpfe, um alle Würfel zu würfeln. Wir werden ein paar Bilder hinzufügen und
die aktuelle Punktzahl beider Spieler hinzufügen . Das ist es im Grunde genommen für dieses Video. Wir sehen uns im nächsten.
40. Dice Dice Würfel: In Ordnung, also willkommen zurück. In diesem Video werden wir
unsere 535-Anwendung oder das Würfelspiel fortsetzen . Was wir jetzt tun werden, ist
hier einen Gedanken an die Box hinzuzufügen und die aktuelle Punktzahl des Spielers anzuzeigen. Beginnen wir also damit dass
ich es einfach hier hinzufügen werde. Ich nenne es Spieler eins, aktuelle Punktzahl. Und es wird Q-Label sein. Und ich werde es zuerst bei 0 haben. Spieler zum aktuellen Punktestand. Und Erwachsene wären auch ein q mit dem Wert 0, 2 gekennzeichnet. Alles klar. Jetzt haben wir unseren beiden Arbeitsstatus, fügen sie dazu hinzu. Also füge ich das erste Widget hinzu, das Spieler eins ist, aktuell. Und beachte, dass alles, was mit Spieler
eins zu tun hat, tatsächlich in Spalte 0 ist. Und alles, was mit Spieler 2 zu tun hat, befindet sich in Spalte eins. Alles klar, also werden wir es
bei Index zwei von Zeile und 0 hinzufügen . Und dann werden wir auch für Spieler zwei hinzufügen. Und es wird auch bei Index 2 sein, und die Position von Spalte 1. Alles klar, also lasst uns das schließen und das noch einmal ausführen. Und das kriegen wir. Beachten Sie nun, dass sie nicht im Mittelpunkt stehen, also lassen Sie es mich einfach verbessern oder ändern. Also Spieler eins, aktuelle Punkteausrichtung. Und es wird ein süßer Kern sein, der die UT-Ausrichtung wie gewohnt ist, der Mitte ausrichtet. Ich kopiere das und wechsle hier
einfach von Spieler eins zu Spieler zwei. Und wir können los, lass es mich einfach nochmal laufen lassen. Und wir verstehen es, also haben wir die hier. Und wir werden eine etwas andere Syntax
oder einen anderen Stil für diese haben . Denken Sie daran, dass dies die endgültigen oder
ursprünglichen Werte sind und dies
die aktuellen Werte sind , die in einem einzigen Satz im Spiel bezahlt werden. Kommen wir also in das Stylesheet von Spieler eins, aktueller Punktestand. Das Set Stylesheet wie gewohnt. Und wir beginnen damit, die Klammern
wie gewohnt zu öffnen und einfach hier hinzuzufügen. Was wir tun werden, ist,
die Schriftgröße einfach auf 30 Pixel festzulegen . Und dann setzen wir die Höhe auf 20 Pixel ein. Die Hintergrundfarbe wäre diese. Die, die wir schon früher für das Label benutzt haben. Und die tatsächliche Farbe wird FFF sein, oder? Und jetzt werden wir
einfach die Breite vergrößern. Und ich setze es auf 40 Prozent. Im Moment wäre die Marge 0. Und automatisches Auffüllen von 20 Pixeln vorerst und den Text. Alles klar, also wir haben es schon mal eingestellt, also brauchen wir es hier nicht wirklich. Lassen Sie mich das einfach schließen und es mir ansehen. Lauf. Und wir kriegen es genau hier. Wie Sie sehen können, haben wir unseren Spieler 1, die Punktzahl und den aktuellen Punktestand genau hier erhalten. Jetzt können wir genau das Gleiche für Platon tun. Also kopiere ich das einfach und ändere mich einfach, wechsle hier von plus eins auf plus zwei. Und wir können los. Jetzt lass mich diesen Lauf schließen. Und das werden wir vorerst als unsere 535 Bewerbung bekommen. Was wir jetzt tun werden, ist die Würfel hier hinzuzufügen. Also werden wir zwei Würfel hinzufügen. Der erste wird
zum Beispiel in dieser Position sein, und der andere wäre genau hier. Und wir werden die Buttons zu diesem Spiel hinzufügen. Die Knöpfe sind der Wurf, um die Würfel zu würfeln, und wir haben den Halt, um den Spieler
einfach
halten zu lassen , was wir in der aktuellen Zeit haben. Also werden wir von hier nach hier wechseln. Sie sich also keine Sorgen um diese Funktionen. Wir werden sie später machen, aber im Moment werden
wir einfach das Backend bauen,
tut mir leid, das Frontend unseres Würfelspiels. Alles klar, also lasst mich einfach damit anfangen, die Bilder zu erstellen. Also haben wir damit begonnen, Deep Layers Scores zu erstellen, und wir haben hier die aktuellen Ergebnisse. Jetzt machen wir es hier. Was ich tun werde, ist einfach MHC1 hinzuzufügen und es wird
Q-Picks-Map der Würfel sein , 1 Punkt PNG. Und dann haben wir Image 2. Ich nehme zufällig Warteschlangenauswahl, Map. Vorerst im PNG würfeln, wir werden dies später ändern, wenn das Spiel beginnt. Aber im Moment haben wir diese beiden Bilder. Jetzt werden wir sie in einer Beschriftung aufbewahren. Also werden wir haben, vielleicht nenne ich es Bild ein Etikett und es wird von Q-Label sein. Und was wir tun werden, ist es einfach hinzuzufügen. Also werden wir Picks Map
in Image1 setzen , das wir gerade von hier bekommen haben. Und wir werden es genau dasselbe für MHC2 machen. Das Bild zum Beschriften ist also
Q-Labeltyp und wir werden es hinzufügen. Also Bild zum Beschriften, das Becks Karte in Bild 2 gesetzt hat. Alles klar, also haben wir die beiden Bilder. Jetzt müssen wir sie dem Raster hinzufügen. Und die optimalste Position für diese beiden Würfel steht hier im Mittelpunkt. Denken Sie daran, dass wir das Raster
haben und die Spalte eins haben, und das ist es. Und Sie haben auch die zweite Spalte genau hier. Was wir also tun werden, ist, diese einfach in eine dritte Spalte
zu verschieben oder zu verschieben und die Geräte dann in Spalte 2 hinzuzufügen. das zu tun, was wir hier ändern werden ist alles, was mit dem Spieler zu tun haben2. Und wir werden die Position der Spalte
von zwei ändern , von eins auf zwei. Und das war's im Grunde. Wenn ich das noch einmal mache, werden
wir sehen, dass wir vorerst nichts geändert haben , weil wir dazwischen
nichts hinzugefügt haben. Also jetzt, wenn ich weitermache und die Widgets genau hier hinzufüge. Also werden wir der Position dieses Image-1-Arbeites hier hinzufügen . Es ist also in Zeile 0 und nur Spalte eins. Alles klar, also machen wir es hier, 01 und der zweite wird auch ein TRO sein, oder? Also MHC2-Label wird es dieses Mal in
Zeile und auch Spalte 1. Schließen wir das jetzt und führen es erneut aus. Und wir werden sehen, dass wir unsere Bilder genau hier haben. Sie sind zu groß für das Spiel, aber wir haben sie gerade in die Mitte dieser beiden gebracht, Spieler 1 und Platon. Alles. Lassen Sie uns jetzt die Größe dieser Bilder verbessern oder
verringern. Und eine Möglichkeit, dies zu tun, besteht darin,
die skalierte Funktion zu verwenden , die wir für das Bild haben. Und wenn ich es hier verwende, zum Beispiel Image1, diese Skala. Und ich bleibe und entkomme ihnen jetzt in 80 bis 84. Und ich mache genau das Gleiche wie zuvor für Bild 2. Und jetzt merke, dass ich ihn, selbst wenn ich diesen Code ausführe, ihn einfach noch einmal ausführen
lassen. Nichts wird passieren, weil wir die Bildgröße nicht wirklich geändert haben, da diese Methode tatsächlich ein neues Bild
zurückgibt, das auf 80 skaliert ist. 80. Okay, also speichere ich es auch in MHC1 und speichere das in Bild zwei. Jetzt haben wir MLH1 und MSH2
neuen Bildern im Maßstab 80 mal 80, Breite und Höhe zugewiesen . Alles klar, also lasst uns das noch einmal schließen. Lauf. Und wir werden herausfinden, dass unsere Bilder jetzt kleiner sind als zuvor. Und Höhe und Breite von ihnen als 80. Okay, also
lasst mich wie zuvor einfach dieses Q-Label anpassen. Also verwende ich einfach das Bild mit der Bezeichnung. Und ich setze die Ausrichtung in Cutie,
Cutie Dot Align Center. Und ich werde genau das Gleiche für Bild 2 machen. Und wir sind bereit zu gehen. Lassen Sie mich diesen Lauf einfach noch einmal schließen. Und das Set ist im Grunde genommen der Würfel 1 und das ist Würfel 2. Okay, also können wir sehen, dass Würfel 1 und neues Spiel ziemlich nahe beieinander liegen. Wir müssen also vielleicht nur etwas Spielraum oder Abstand zwischen ihnen
haben. Und das mache ich, indem ich einfach das Stylesheet ändere. Also verwende ich
das Set-Stylesheet, das wir zuvor verwendet haben. Also lass mich weitermachen und es hier machen. Also haben wir Bild eins und Bild zwei Arbeit. Was ich tun werde, ist einfach die Polsterung hier zu
ändern. Also das Set Stylesheet. Und ich werde es in umwandeln, Okay, also können wir loslegen. Jetzt. Wir werden die Polsterung
in 100 Pixel für oben und
Nullen für rechts, unten und links ändern in 100 Pixel für oben und . Richtig. Jetzt können wir loslegen. Wenn ich nun diesen Lauf noch einmal schließe, werden
wir sehen, dass wir einen großartigen,
guten Platz zwischen dem neuen Spiel und
den Daten haben guten Platz zwischen dem , die wir genau hier haben. In Ordnung, das ist es im Grunde genommen für die beiden Würfel und dass am Ende dieses
Videos und dem nächsten
zufrieden sind, werden wir die letzten Elemente
bauen. Und sie sind die Knöpfe zum Rollen und Halten. Und wir werden mit diesem Frontend des Würfelspiels ziemlich fertig sein. Wir werden
das Backend weiter aufbauen und es in unserem Spiel verwenden. Das ist es im Grunde genommen für dieses Video. Wir sehen uns im nächsten.
41. Dice Halte und Roll: Hallo und willkommen zurück. In diesem Video werden wir dieses Würfelspiel
weiter aufbauen. Also haben wir zwei Würfel. Der erste Würfel ist der hier, und der zweite ist jetzt verrückt, aber ich dachte daran, die Knöpfe zum Würfelrollen und
den Halteknopf genau hier hinzuzufügen . Also nach dem zweiten stirb genau hier. Alles klar, was wir also tun werden, ist das einfach auszudrücken. Ich beginne damit, einfach die Wurfwürfel zu erstellen. Und es wird ein Warteschlangen-Druckknopf der Beschriftungszeile sein. Und wir haben den Halt, um die Taste
zu drücken, und es wird Hold sagen. Nachdem wir diese Würfel gebaut haben, werden
wir den Cursor auch auf
den Zeigezeiger für beide setzen . Also würfeln. Und wir setzen den Cursor auf Q, Cursor und Cutie. Cutie, das Zeigen und Cursor. Alles klar, also können wir jetzt loslegen, lass mich das einfach für die ganzen beiden hinzufügen. Und natürlich müssen wir dies in den tatsächlichen Kredit aufnehmen, den wir haben. Lassen Sie mich also weitermachen und fügen Sie sie gleich hier hinzu. So toll, dass das Widget hinzugefügt wird. Ich füge die Rollenwürfel an Position von Zeile zwei und den Index der ersten Spalte hinzu. Und dann fügen wir das Gleiche für das Loch hinzu. Wir werden es in Zeile drei und Spalte eins hinzufügen. Und ich denke, wir sind bereit zu rennen. Wie wir sehen können, haben wir die Rolle bekommen und halten genau hier. Und wir werden sie in „angefangen“ umwandeln. Wir haben gerade vier neue Spiele. Werfen wir einen kurzen Blick auf das Raster, das wir gerade erstellt haben. Wenn ich es also einfach hier platziere, können wir sehen, alles klar. Wie wir für Spieler 1 sehen können, alle Elemente, die angezeigt werden sollen, tatsächlich in der ersten Spalte angezeigt. Spalte eins befindet sich also bei Index 0. Also ist alles für Spieler eins im Index der ersten Spalte bei 0. Wie Sie sehen können, haben
wir hier 0, 0 und 0. Und dann befindet sich alles, was mit Spieler
2 zu tun hat, tatsächlich in Spalte 2, in der Indexspalte 2, die hier zu
zwei ist und auch genau hier tut. Und was die Würfel und die Knöpfe angeht, haben
wir sie in der Mitte, was Index eins für die Spalte ist. Und wie Sie hier sehen können, sind sie MHC1, MHC2, würfeln und halten sie alle in Spalte eins. Das ist es also im Grunde für das Netz, das wir vorerst haben. Lasst uns nun das Stylesheet
des Holt verbessern und einfach auch den ganzen Würfel. Also kopiere ich alles
aus dem neuen Spiel-Stylesheet. Und ich füge es einfach hier ein. Ich werde das in Würfelwürfel umwandeln. Und ich werde es noch einmal für den Hold-One machen. Richtig, also geht es uns jetzt gut, lass mich diesen Lauf
einfach noch einmal schließen. Und wir können sehen, dass wir jetzt die beiden Knöpfe haben, Straße und Halten genau hier. Das ist es also im Grunde für das Frontend des Spiels. Wie Sie sehen können, haben wir beide Spieler. Wir haben den aktuellen Punktestand, wir haben den eigentlichen Würfel. Und natürlich, die letzten Rollen- und
Halte-Tasten , bei denen wir dafür scrollen werden,
das spielt und hält, wann immer er es will. In Ordnung, das ist es im Grunde genommen für das Frontend, das nächste Video wird anfangen das Backend dieses Spiels zu
erstellen. Und wir verknüpfen es mit dem Frontend und erstellen das eigentliche Spiel und spielen es. Das war's im Grunde. Wir sehen uns im nächsten Video.
42. Dice Die Würfel schneiden: Hallo und willkommen zurück. In diesem Video beginnen wir mit dem Back-End unseres Würfelspiels. Und dann fange ich damit an, einfach die Funktionen zu
erstellen, die wir verwenden
werden, wenn wir den Knopf rückgängig machen. Also lass mich das eine Mal laufen. Und wie wir sehen können, haben wir das neue Spiel, Roll and Hold, und wir müssen Funktionen für jeden von ihnen
erstellen. Was wir also tun werden, ist einfach mit dem Roll One zu beginnen. Ich werde weitermachen und einfach erstellen. Und ich mache es genau hier. Also haben wir den Wurfwürfel-Button. Und wenn auf Würfelwürfel geklickt wird, verbinden
wir es mit einer Funktion, die vielleicht einfach würfeln kann. Und ich denke, es geht uns gut. Was wir jetzt tun werden, ist
mit der Verwendung der Funktion genau hier zu beginnen . Also erstelle ich eine Funktion, und das wird würfeln. Und wir beginnen damit, die Parameter
oder die Punktzahl, die wir hier
und hier haben, entsprechend der Rolle, die wir haben, zu ändern oder die Punktzahl, die wir hier
und hier haben . Nehmen wir uns jetzt einen Moment Zeit und denken darüber nach. Wann immer der Benutzer diesen Würfel rollt, werden
wir die Bilder des Würfels ändern. Und wir werden zufällige Bilder von eins bis sechs bekommen. Hat sie hier gezeigt und
zu allem hinzugefügt , was wir in der aktuellen Zeit haben. Alles klar, um das zu
tun, brauchen wir einfach diese Punkte jedes Spielers zu speichern. Also erstelle ich zwei Arrays oder zwei Listen. Der erste wird die Punktzahl des Spielers sein. Und um Nullen zu sein, werde ich es in einer Minute erklären und das tun. zweite ist der aktuelle Punktestand des Spielers. Und es wird auch auf 0 instanziiert. Jetzt füge ich einen Index für den aktuellen Spieler hinzu, und es wird vorerst der erste Spieler sein. Diese stellen tatsächlich
die Parameter dieses Codes dar , den wir hier haben. Alles klar, also stellt
die Punktzahl des Spielers die tatsächliche Punktzahl von Spieler eins und Spieler zwei dar. Also wird der Spieler
den Index 0 nehmen und Plato wird Index 1 haben. Und spielt die aktuelle Punktzahl ist eigentlich diese. Also Spieler eins, das ist 0, es ist dieser. Dann Spieler 2, es ist dieser. Also lasst uns weitermachen und sie
in den Etiketten ändern , die wir haben, oder? Wir haben also Q-Labels für Spieler eins und Spieler zwei. Und wir haben auch vier Punkte eins ist CO2. Also werde ich das in aktuelle ändern, tut mir leid, Punktzahl des
Spielers bei 0 und die Punktzahl des Spielers bei eins. Und wir werden den ganzen Weg weitermachen bis spielen. Ein aktueller Punktestand. Es wäre nicht die aktuelle Punktzahl des Spielers als 0. Und wir haben die aktuelle Punktzahl der Spieler bei einem. Und das war's im Grunde genommen haben wir die Werte in tatsächliche Werte
geändert. Wenn wir diesen Code ausführen, werden
wir feststellen, dass wir einen Fehler haben werden. Und das liegt daran, dass
ich einfach benutzen würde, tut mir leid, wir ließen mich das nicht einfach auskommentieren und es erneut ausführen lassen. Und wir werden diesen Fehler erhalten, da dQ-Label
eine Zeichenfolge annimmt und wir eine Ganzzahl anstelle von String
zugewiesen haben . Um sich nur damit zu befassen, füge
ich hier STR hinzu. Und wir werden genau
das Gleiche für diesen hier tun . Jetzt können wir loslegen. Wir haben String in
der Warteschlangenbezeichnung gespeichert und alles sollte gut funktionieren. In Ordnung, also haben wir noch einen, nämlich würfeln weil wir diese Funktion gerade erstellt haben. Ich werde es auskommentieren. Jetzt lauf. Und wir haben es, also ist es im Grunde genommen jetzt alles wie zuvor. Wir haben jedoch die Werte von vielleicht
statisch in eine Dynamik geändert , die sich im Laufe der Zeit ändert, indem wir die Werte genau hier ändern. Und diese Listen. Beginnen wir nun mit der Funktion „Würfelwürfel“. Was wir zuerst machen werden, sind zwei. Erschaffe einfach Die 1. Und das wird ein Zufall sein, und wir werden hier einfach Zufall importieren. Dies ist eine Python-Bibliothek. Jetzt random.random. Und jetzt haben wir die Zufallszahl zwischen 16 und I2 wird die gleiche Miete und zwischen 16 sein. Was wir jetzt tun werden, ist das
einfach auszudrucken , um nur
eine Vorstellung von diesen Würfeln zu haben . Und wir werden hinzufügen sterben eins und sterben zwei. Und lasst es uns einfach visualisieren. Also werde ich
die Methode sammeln und kommentieren lassen, oder? Und wir sind bereit zu gehen. Lasst uns drauf klicken. Und das war's. Wenn ich jetzt auf Zeile drücke, werden
wir sehen, dass wir
jedes Mal, wenn wir diesen Knopf drücken, zufällige Würfel haben . Und wir sind bereit zu gehen. Was wir jetzt tun sollten, ist, diese Werte tatsächlich
in allem zu speichern , was wir haben plus den ursprünglichen Wert, den wir in der aktuellen Zeit haben. In Ordnung? Und das hängt vom Spieler ab. Wenn zum Beispiel Spieler eins spielt, sollten
wir dies zu den Spielern eine aktuelle Punktzahl hinzufügen. Und wir werden genau das Gleiche machen. Jetzt gehen wir zurück und fangen damit an. Was wir also tun werden, ist zuerst einfach zu überprüfen, ob einer der Würfel gleich einem ist, dann werden wir einfach aus
dieser Funktion ausbrechen , denn wann immer wir einen Dy gleich eins haben, bedeutet
dies, dass die Person oder der Benutzer hat diese Route verloren. Und wir werden nichts in das Endergebnis aufnehmen. Wir werden einfach
die aktuelle Punktzahl dieses Spielers zurücksetzen . Also lasst uns weitermachen und es machen. Also FDI eins ist gleich 1 oder di2 ist auch gleich eins. Was wir tun werden, ist, die aktuelle Punktzahl der Spieler einfach auf 0 zu
setzen. Alles klar, jetzt lass mich das ein bisschen erklären. Was wir hier tatsächlich gemacht haben, ist, dass wir die Spieler als aktuelles Ergebnis
bezeichneten. Und wir haben die aktuelle Punktzahl an Ort und Stelle, sowohl die Punktzahl von Spieler eins als auch von Spieler zwei. In diesem hier haben
wir, wie gesagt, Spieler 1, das ist dieser, und Spieler zwei, der dieser ist. Und wir setzen das auf 0. Was auch immer wir gerade haben, egal welches Spiel wir von diesem aktuellen Spieler haben, wir setzen es einfach auf 0. Und was wir dann tun werden, ist zu prüfen, ob der aktuelle Spieler der Spieler ist. Und wie machen wir das? Wir prüfen, ob der aktuelle Layer gleich 0 ist. Dies bedeutet, dass es der Spieler ist. Und wir setzen den aktuellen Punkte-Button oder das aktuelle Score-Label und 200 ein. Um das zu tun, werden
wir einfach den aktuellen
Spieler1 festlegen , diesen setText. Und wir setzen es auf 0. Und wir werden
den Spieler auch in Spieler 2 ändern , weil Spieler 1 verloren hat. Der aktuelle Spieler wird hier also von Index eins sein. Lassen Sie sich nicht damit verwechseln da der aktuelle Spieler gleich 0 ist. Dies bedeutet, dass dies Spieler 1 ist. Und derzeit gleich eins bedeutet, dass dies Spieler zwei ist, weil wir bei Index 0 beginnen. Wenn dies nicht der Fall ist, werden
wir den Spieler auf den aktuellen Punktestand auf 0
setzen. Und wir werden einfach den aktuellen Spieler und in diesem Fall 200
ändern. Beachten Sie nun, dass wir
hier vielleicht nur einen Fehler haben , da Kepler nicht definiert ist und wir diesen Problembericht über eine undefinierte Variable haben. Und das ist der aktuelle Spieler , der eine globale Variable ist. Und wir müssen es definieren, ob wir es ändern
wollen oder wann wir es hier verwenden sollen. Um es zu verwenden, können
wir es einfach global trocknen und den Namen der Variablen schreiben, und wir können loslegen. Wie wir sehen können, wir das Problem gelöst, denn wann immer wir einen Sterben haben, werden
wir einfach
den aktuellen Punktestand von jedem Spieler, den wir haben, und 200 festlegen den aktuellen Punktestand von jedem Spieler, den wir haben, und 200 und dann in der tatsächlichen Arbeit, die wir in der Piketty-Akte haben. Und jetzt können wir unseren Code
oder unsere Funktion fortsetzen , wenn wir keine Würfel gleich 0 haben. Alles klar, was wir jetzt tun werden, ist, die Bilder
einfach in die zufälligen Würfel zu die Bilder
einfach in die verwandeln, die wir hier haben. Also werden wir Bild ein Label ändern, und wir werden die Auswahl-Map in das neue Bild setzen. Also werden wir q picks map verwenden. Und das Bild wird sein, wir fangen mit Dice Dash an. Wir werden die Nummer ändern. Was auch immer wir haben, stirbt eins. Also schreiben wir Würfel, Dash. Dann fügen wir SDR hinzu, sterben eins. Und dann werden wir dieses PNG hinzufügen. Das war's also. Grundsätzlich müssen wir es auch skalieren. Also mache ich weiter und mache es genau hier. Das hat sich also skaliert und wir können loslegen. Wer kann es auf 80 mal 80 skalieren. Und wir werden genau das Gleiche mit Bild 2 machen. Also wählt die Karte aus und es wird Cubics Map sein. Und wir werden Würfel haben, Dash plus STR, den i2. Und wir werden plus Punkt PNG hinzufügen. Und das ist auf 80,80 skaliert. Alles klar, jetzt haben wir die Bilder geändert. Lass mich weitermachen und das nochmal machen. Wenn wir also den Würfel rollen, können
wir sehen, dass sich die Bilder ändern. Wir haben jedoch hier keine Werte. Die aktuelle Punktzahl oder definieren Sie den Umfang der Deklarate. Und wir müssen dies verbessern oder ändern. Was wir jetzt tun werden, ist zu
prüfen, ob der aktuelle Spieler eins ist. Und wie machen wir das? Wir können uns einfach fragen, ob der Zähler gleich 0 ist. Wenn dies der Fall ist, werden wir die aktuelle Punktzahl
von Spieler eins auf das setzen , was wir innerhalb dieser aktuellen Punktzahl
haben, und diese sterben genau hier. Alles klar, also lasst uns das machen. Wenn Spieler eins spielt, dann Spieler eine aktuelle Punktzahl, diesen setText. Und wir werden es in die Zeichenfolge von setzen, du wirst die aktuelle Spieler1-Punktzahl haben, die eigentlich eine Zeichenfolge ist. Und wir werden einfach
hinzufügen , dass diese sterben und sterben. Denken Sie also daran, dass der aktuelle Punktestand für Spieler 1 Punkt eine Zeichenfolge ist. Also wenn ich den Spieler extrahierte, wollte der aktuelle Skoda bekommen, tut mir leid, den Text. Wenn ich das bekomme und versucht habe, D1 und D2 hinzuzufügen, werden
wir einen Fehler bekommen, weil wir das tun, wir können das nicht einfach und das bekommen. Wir müssen sie entweder als
String verketten oder wir müssen dies in eine Ganzzahl umwandeln. Und um das zu tun, füge ich einfach Anti-A hinzu. Und wir sind bereit zu gehen. Wenn ich also versuche, dies auszuführen, stoßen
wir auf ein anderes Problem
, nämlich dass wir hier keine ganze Zahl hinzufügen können. Also müssen wir all diese in eine Zeichenfolge konvertieren. Und jetzt sind wir bereit, danach zu gehen. Was wir tatsächlich tun können, ist, den Sterben auch hinzuzufügen und zu sterben, in das weniger, was wir haben. Denken Sie also daran, dass wir bei Spieler eins sind. Was wir tatsächlich tun können, ist einfach zwei Spieler aktuelle Punktzahl
beim aktuellen Spieler hinzuzufügen , den wir hinzufügen müssen , dem di1, di2. Das ist es im Grunde genommen, was wir tatsächlich tun können ist zu überprüfen, ob dies nicht der Fall ist, wir werden einfach genau dasselbe mit dem zweiten Spieler machen . Also setText, STR, und wir werden mit dem aktuellen Ergebnis, diesem Text, verschwommen werden. Und wir werden es noch hinzufügen, sterben eins, sterben zwei. In Ordnung, also denke ich, dass wir vorerst bereit sind. Wir müssen dies nur einfach zum aktuellen Stand hinzufügen. Oder das können wir, weil dies für beide gleich ist, aber wir können es tatsächlich tun, es hier hinzuzufügen. Anstatt es also zweimal zu tippen, nehme
ich es einfach und benutze es hier. Also denke ich, dass wir gut sind, Bild zu machen, passen Sie das
einfach an und das ist es im Grunde genommen für den Würfelwurf. Im nächsten Video werden wir es ausprobieren und
mit der nächsten Funktion beginnen . Wir sehen uns dann.
43. Dice Aufbewahren, neues Spiel und die Game:: In Ordnung, also willkommen zurück. In diesem Video werden wir
die Funktionen unseres Spiels weiter aufbauen . Aber im Moment sehen wir, was wir davon
haben. Wirf die Würfel. Wenn ich also auf die Rolle drücke, werden
wir sehen, dass sie sich ändert. Wir können auch sehen, dass wir genau hier
die tatsächliche Anzahl von ihnen haben , um darauf zu drücken. Auch
hier können wir im Befehl tatsächlich sehen , dass wir eine Eins- und die Würfelfunktion haben. Deshalb haben wir alles auf 0 gesetzt. Was wir jetzt tun werden, ist eine Funktion für den gesamten Button zu erstellen. Denn selbst wenn ich 2003
erreicht habe und halten möchte, wird nichts passieren. Rollen Sie einfach weiter, bis ich die 0 bekomme. Und dann ändert sich die Position von den Spielern, die spielen, zu dem anderen. Jetzt können
wir mit der Funktion „Hold “ einfach ändern oder der Benutzer kann das einfach auswählen. Sie müssen nicht mehr rollen. Ich will nur vorerst halten. Und ich nenne es Hold-Ergebnis. Und in dieser Funktion ist
die erste, dass ich es tun werde,
einfach die globale aktuelle Schicht zu haben. Und wir werden damit beginnen, einfach den Spielerstand in das zu ändern, was wir haben, ein Netz plus die aktuelle Punktzahl des Spielers. Spielerstand wird also vom aktuellen Spieler ausgehen, was dem entspricht, was wir deklariert haben. Der Spielerstand plus die aktuelle Punktzahl der Spieler. Das CarPlay. Das bedeutet also, dass wir, wenn Spieler eins zum Beispiel spielt und halten möchte, was wir tun werden einfach
zum Paar-Score hinzuzufügen
, nämlich diesen beim aktuellen Spieler. Also das ist es. Wir werden alles hinzufügen, was wir drin haben, plus den aktuellen Punktestand hier drin. Und jetzt werden wir
einfach die aktuelle Punktzahl der Spieler und 200 einstellen. In Ordnung, also das war's. Im Grunde sollten wir das tun. Selbst wenn wir das ausführen, werden
wir nichts bekommen, weil wir die Etiketten, die wir auf unserem Bildschirm haben, nicht wirklich geändert haben. Also müssen wir das auch ändern. Denken Sie daran, dass dies die Liste sind, die wir hier haben. Sie sind gegangen, sie sind hier, um
uns bei den Funktionen und dem Zusatz zu helfen , denn die tatsächlichen Labels sind vom Typ String und wir können wirklich viel damit anfangen. Deshalb schaffen wir das einfach. Was wir jetzt tun werden, ist einfach zu überprüfen, welcher Benutzer spielt. Wenn der Spieler oder der aktuelle Spieler also gleich 0 ist, bedeutet
dies, dass dies Spieler 1 ist. Wir setzen dem Spieler einfach einen aktuellen Punktestand auf 0, da wir es nicht mehr brauchten. Und was wir tun werden, ist einfach auch die Punktzahl eins festzulegen, nämlich der globale Punktzahl genau hier, N2. Also setText N2. Und wir werden es auf alles einstellen, was wir bei der Punktzahl des Spielers
haben, wo immer wir hier hinzugefügt haben. So um beim aktuellen Spieler vom Typ STR Spieler zu sein. Und danach werden
wir nach dem Halten einfach die tiefe Schicht von was ändern, von 0 auf eins. Wenn dies nicht der Fall ist, bedeutet
dies, dass der zweite Spieler spielt. Also werden wir die Steuer von Spieler 220 festlegen. Und die Punktzahl von Spieler zwei wird gleich sein, was wir in
der Punktzahl des Spielers und des aktuellen Spielers haben , der spielt. Und danach müssen wir den Spieler von eins in 0
ändern. Stellen Sie nun sicher, dass Sie den Spieler
in der letzten Zeile der if-Anweisung wechseln , denn sonst werden wir ihn hier verwenden und wir werden verwirrt sein, weil dies der Kern ist. Und wenn Sie es in Paar zwei ändern, erhalten
wir die Punktzahl von Spieler zwei und fügen es hinzu. Stellen Sie also sicher,
dass dies die letzte Zeile Ihrer Aussagen ist. In Ordnung, das ist es im Grunde genommen für das Ganze. Wenn wir jetzt weitermachen und es ausführen, dann lass
es mich einfach ganz schnell hier hinzufügen. Lachen, würfeln, halten Sie das geklickt. Dot verbinden. Und wir werden Hold-Score haben. Jetzt schließen wir diese R1. Und wir werden sehen, dass
wir, wenn ich die Warteschleife drücke, einfach alles von hier
nehmen und hier platzieren werden. Wenn ich jetzt renne. Rollen Sie nochmal. Wir können sehen, dass dies Spieler 2 ist. Wir haben jedoch einen hier. Deshalb hat Platon nie gespielt. Aber wenn ich drücke und halte, und dann noch einmal können wir sehen, dass dies Spieler
zwei ist , der jetzt spielt und hält. Und wir haben es nicht verstanden, alles klar, also haben wir einen Fehler bekommen, weil die Punktzahl des SetText in die Punktzahl des Spielers eingeht. Und das liegt daran, dass wir hier nicht wirklich eine Zeichenfolge hinzugefügt haben. Jetzt können wir wieder rennen. Und wie wir sehen können, haben
wir 10 und so weiter und so weiter. Das war's also. Grundsätzlich haben wir jetzt unsere Hauptfunktionen, das ist die Rolle und würfeln. Was wir jetzt tun werden, ist, genau hier eine Funktion für dieses neue Spiel
hinzuzufügen. Also lass es mich einfach hier hinzufügen. Jetzt wird diese Funktion
die Hauptfunktion sein , bei der
wir das neue Spiel erstellen werden. Denken wir also eine Sekunde darüber nach. Und du gewinnst, alles auf 0 zu setzen. Also erstelle ein neues Spiel. Und diese wird darin bestehen, einfach den aktuellen Spielerstand und
die Punktzahl des Spielers und die Punktzahl des Spielers zu verwenden aktuellen Spielerstand und
die Punktzahl des Spielers und . Und wir werden sie alle benutzen und sie in Xerox
setzen. Der aktuelle Spieler wäre also gleich 0. Die aktuelle Punktzahl der Spieler wäre ebenfalls gleich 0 und weniger Punktzahl gleich 0. Beachten Sie nun, dass selbst wenn wir dies ausführen, selbst wenn wir alles auf 0 setzen, wenn ich die Würfel würfle und Datei halte, klicken Sie auf Neues Spiel, nichts passieren wird. Und das liegt daran, dass wir das Label, das wir hier haben, nicht wirklich geändert haben. Um das zu tun, werden wir es einfach hier benutzen. Also Spieler eins, aktueller Punktestand, setzen
wir Text auf 0
und tun dann dasselbe, um zu passieren. Und 0. setzen
wir auch den Punktestand eins auf 0. Und schließlich wäre die zweite Punktzahl auch 0. Alles klar, also denke ich, dass wir jetzt loslegen können, wenn ich das nochmal renne und einfach einmal rolle, halte und lass uns hier rollen. Und wie wir sehen können, haben wir 617 acht, wenn ich ein neues Spiel drücke, oder? Es wird also nichts passieren, weil wir diese Funktion hier nicht wirklich hinzugefügt haben. Lassen Sie mich es also sehr schnell hinzufügen. Sie spielen, die sammeln und verbinden, um ein neues Spiel zu erstellen. Tut mir Leid. Jetzt lauf. Rollen, halten, halten, halten. Und wenn ich ein neues Spiel drücke, werden
sie in Nullen zurückgesetzt. Das ist es im Grunde genommen für das neue Spiel, Rollen und Halten. Jetzt haben wir auch eine andere Funktion und dies ist die Überprüfung des Gewinners. Also lass mich einfach los und schreibe hier schnell ein Tablett. Also überprüfe den Gewinner. Und wir werden
jedes Mal überprüfen, wenn der Benutzer auf die Warteschleife drückt. Also werden wir die aktuelle Ebene als global betrachten. Und wir werden prüfen, ob die Punktzahl des Spielers beim aktuellen Spieler größer oder gleich 100 ist. Wenn dies der Fall ist, bedeutet dies, dass der Spieler bereits gewonnen hat. Und wir werden
einfach prüfen, welches Paar bereits gewonnen hat. Wenn dies also Spieler 1 ist, setzen
wir den Text von Spieler 1 und 2, Gewinner und setzen den Text auf eins bis zwei. Lasst uns jetzt weitermachen und das machen. Es tut mir leid, hier für einen Text an Spieler zwei, um zu prüfen, ob dies Spieler 1 ist und zwei anzeigen. Lasst uns nun weitermachen und wir werden einige Probleme
finden, die wir debuggen müssen. Okay, also müssen wir zuerst den Schecksieger zur gesamten Funktion
hinzufügen. Wie gesagt, müssen wir jedes Mal überprüfen, wenn der Benutzer hält. Wenn es also 100 überschreitet, ändern wir einfach die 12. Alles klar, also lass mich das einfach nochmal machen. Und wie wir sehen können, werden wir es hier bekommen,
wenn wir 17 haben. Dann werden wir wieder rollen,
Schicht zu Ebene eins und so weiter und so weiter und so weiter, bis die
tatsächliche Zahl von 100 erreicht wird. Wie Sie sehen können, haben
wir hier, in Ordnung, also sind 82 plus 41 tatsächlich größer als 100. Wenn ich jedoch drücke und halte, wird nichts passieren. Wir haben eine 123 hier. Zwei überspielte ist eigentlich noch nicht der Gewinner. Und wenn ich fortfahre, habe ich auch hier eine 105. Wenn ich also noch einmal gedrückt halte und drücke, werden wir sehen, dass wir hier
einen Gewinner haben. Dies liegt daran, dass wir
den Gewinner genau hier nach dem tatsächlichen Ergebnis überprüfen . Wir fügen nicht wirklich den Dosencode hinzu , den wir einen Moment haben, den wir haben. Wir hatten 81 plus etwas in den 40ern. Also müssen wir 81
plus 40 hinzufügen und dann prüfen, ob es 100 überschreitet. Also lass mich einfach weitermachen und es hier machen. Es ist also der Spielerstand beim aktuellen
Spieler und wir werden die aktuelle Punktzahl der Spieler erzielen. Auch aktueller Spieler. Die Summe dieser übersteigt 100. Das bedeutet, dass wir auf dem richtigen Weg sind und das ist das eigentliche wenn ein Nein, lass es mich einfach noch einmal laufen lassen. Und ich überprüfe es ganz schnell. Dieses Mal. Wir haben 29 und 17. Und ich werde alles in Ordnung haben, also werden wir hier 83 haben und wir haben auch 25. Die Summe zwischen ihnen ist also absolut größer als 100. Wenn ich jetzt drücke und halte, sehen wir uns eine 108 an. Und das ist der Richtige. Der zweite Teil, den wir haben, ist, dass wir dieses Spiel beendet haben und ein neues erstellen wollen. Wenn ich also auf dieses neue Spiel drücke, setzen
wir alles auf 0. Wir können jedoch feststellen, dass Spieler zwei
tatsächlich auch einfach angestrengt ist . Also werden wir weitermachen und das
im neuen Spiel hier reparieren . Also setze ich player1, diesen setText und auf Spieler 1, Spieler 2, der S in Ebene zwei setzt. In Ordnung, das ist es im Grunde genommen. Wenn wir nun weitermachen und das noch einmal ausführen, und wenn wir das weiter bauen. Also werde ich vielleicht, ich werde es einfach
für ein bisschen hier auf 25 reduzieren , nur um dieses Beispiel willen. Also jetzt wer 25 als tatsächlicher Gewinner erreicht. Also im Jahr 1912 plus 70 und halten, das ist der Gewinner. Wenn ich jetzt ein neues Spiel erstelle, wird
alles in Nullen
gesetzt einschließlich des Spielers eins und zwei Spieler-Labels. Das ist es im Grunde genommen für dieses Würfelspiel. Wir haben das Frontend und Back geschaffen und machen es. Und ich denke, es ist eine großartige Möglichkeit , alles
zu verwenden, was wir bisher
gelernt haben , von Q-Labels, schiefen Drucktasten und einfach Funktionen in unserer Tasche, 25 Anwendungen zu verwenden und den ausgewählten Connect zu verwenden. Verwenden Sie CSS genau hier und gehen Sie in die Pike 35 Details aus der Picks-Map, um die Ausrichtung festzulegen, so weiter und so weiter. Das ist es im Grunde genommen für dieses Projekt. Wir sehen uns den nächsten.
44. Projekt: Hallo und willkommen zurück. In diesem Projekt
werden wir das, was Sie
zuvor gelernt haben, anwenden und das gerade erstellte Würfelspiel genehmigt haben. Denken Sie daran, dass
wir in unserem Würfelspiel zwei Spieler haben, die spielen müssen. Und sie müssen wirklich zwei Reihen und Halten notiert werden, wie dieses Beispiel. Jetzt besteht Ihre Aufgabe darin, den Spieler entscheiden zu lassen, ob er einen Spieler gegen
den Computer
haben oder gegeneinander reißen möchte einen Spieler gegen
den Computer
haben . Im Fall von zwei gegeneinander
gegeneinander Spielern wird nichts passieren. Dieser Code läuft so gut wie er ist. Und im Fall von Declarate versus Computer müssen
Sie diesen Code verbessern. Ihre Aufgabe besteht also darin,
neue Funktionen für die Randomisierung eines Programms zu erstellen . Denken Sie daran, dass Sie
alle Funktionen haben , die Sie benötigen, wie zum Beispiel das Halten und Zeichnen. Sie müssen sie nur für die Programmseite machen. Anstatt also zwei Spieler zu haben, die ziehen und halten können müssen
Sie einen Spieler rollen und halten. Und dann wird der Computer auch zufällig einen
rollen und halten, der Begriff kommt. Das ist es im Grunde genommen für dieses ganze Projekt. Und ich überlasse die Tür für Ihre Kreativität,
um die erforderlichen Funktionen zu erstellen. Und das war's. Vergessen Sie grundsätzlich nicht, dieses Projekt
in den Projektabschnitt fallen zu lassen , damit ich Ihnen mein Feedback geben kann. Und wenn Sie Fragen haben, zögern
Sie bitte nicht
mich zu kontaktieren und ich werde darauf achten, dass ich antworten werde. Das ist es im Grunde genommen für den Projektabschnitt. Ich hoffe, wir sehen uns bald in meinen nächsten Kursen. Auf Wiedersehen.