Lernen Sie die grafische Benutzeroberfläche von Python: PyQt5 | Hadi Youness | Skillshare

Playback-Geschwindigkeit


1.0x


  • 0.5x
  • 0.75x
  • 1x (normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Lernen Sie die grafische Benutzeroberfläche von Python: PyQt5

teacher avatar Hadi Youness, Computer Engineer

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Einheiten dieses Kurses

    • 1.

      EINFÜHRUNG

      2:54

    • 2.

      Anforderungen

      1:39

    • 3.

      PyQt5 Version

      3:43

    • 4.

      3Date und Zeit

      8:35

    • 5.

      Knöpfe

      7:33

    • 6.

      Layout

      14:25

    • 7.

      FormularLayout

      10:28

    • 8.

      Etikett

      6:06

    • 9.

      Line

      9:13

    • 10.

      Radio

      10:02

    • 11.

      Check

      7:30

    • 12.

      Combo-Box

      5:55

    • 13.

      Spin Box

      5:00

    • 14.

      Slider

      13:36

    • 15.

      Menüleiste

      8:13

    • 16.

      Werkzeugleiste

      6:26

    • 17.

      Input

      12:53

    • 18.

      Schriftart

      6:41

    • 19.

      Datei-Dialog

      13:11

    • 20.

      Tab

      10:46

    • 21.

      Stapel

      10:50

    • 22.

      Splitter

      7:31

    • 23.

      Dock

      6:25

    • 24.

      Scroll-Balken

      5:51

    • 25.

      Statusleiste

      7:55

    • 26.

      Kalender

      5:39

    • 27.

      Drag & Drop

      12:54

    • 28.

      Qt

      2:11

    • 29.

      Einführung in den Qt-Designer

      5:34

    • 30.

      Widget Box

      11:33

    • 31.

      Qt-Designer die erste Anwendung

      7:34

    • 32.

      Ui in Python konvertieren

      3:05

    • 33.

      Layout Qt-Designer

      7:58

    • 34.

      Tab bearbeiten

      4:16

    • 35.

      Buddies definieren

      3:03

    • 36.

      Bearbeiten von Slots und Signalen

      5:53

    • 37.

      Dice

      3:41

    • 38.

      Dice Building

      8:34

    • 39.

      Dice Spieler hinzufügen

      9:22

    • 40.

      Dice Dice Würfel

      11:26

    • 41.

      Dice Halte und Roll

      4:26

    • 42.

      Dice Die Würfel schneiden

      14:58

    • 43.

      Dice Aufbewahren, neues Spiel und die Game:

      14:14

    • 44.

      Projekt

      1:49

  • --
  • Anfänger-Niveau
  • Fortgeschrittenes Niveau
  • Fortgeschrittenes Niveau
  • Jedes Niveau

Von der Community generiert

Das Niveau wird anhand der mehrheitlichen Meinung der Teilnehmer:innen bestimmt, die diesen Kurs bewertet haben. Bis das Feedback von mindestens 5 Teilnehmer:innen eingegangen ist, wird die Empfehlung der Kursleiter:innen angezeigt.

176

Teilnehmer:innen

--

Projekt

Über diesen Kurs

In diesem Kurs lernst du die berühmteste grafische Benutzeroberfläche: PyQt5.

Wir folgen den folgenden Übersicht:

- zunächst lernen wir die Grundlegende Widget von PyQt5 wie das Layout, die Etikette, Knöpfe, Balken und vieles mehr.

- - Zweitens, werden wir in einige erweiterte Widgets und --Themen eingehen, wie Eingabe, Schriftart und file Stacks, Tabellen- und font, eingehen.

- dann lernst du die Bildung einer Anwendung mit der -Then, von -Then, Wir werden eine detaillierte walkthrough von allen Funktionen dieses Tools haben, um jede Anwendung, die man erstellen kann.

- Zum Schluss werden wir eine Liste von Projekten, die immer aktualisiert werden. Die Projektliste enthält Folgendes:

1-Wickelt-Spiel: Erstelle ein 1-Dice mit PyQt5-Widgets und lern, wie du verschiedene Funktionen mit den entsprechenden Buttons anrichtest. Außerdem lernst du, wie du CSS in PyQt5 verwendest, um die Benutzererfahrung in deinen GUI-Anwendungen zu verbessern.

Weitere Projekte werden regelmäßig in der Basis hinzugefügt.

Ich hoffe, dir diesen Kurs gefällt, und ich möchte dazu beige, dass ich während deiner Reise in diesem Kurs jederzeit zur Verfügung stehen

Triff deine:n Kursleiter:in

Teacher Profile Image

Hadi Youness

Computer Engineer

Kursleiter:in

Hello, I'm Hadi. I am studying Computer Engineering at the Lebanese American University (LAU). I like to share my knowledge with everybody and I believe that teaching is a perfect way to understand anything since you must be well informed about something to be able to teach it in the simplest possible ways!

Vollständiges Profil ansehen

Skills dieses Kurses

Entwicklung Programmiersprachen Python
Level: Beginner

Kursbewertung

Erwartungen erfüllt?
    Voll und ganz!
  • 0%
  • Ja
  • 0%
  • Teils teils
  • 0%
  • Eher nicht
  • 0%

Warum lohnt sich eine Mitgliedschaft bei Skillshare?

Nimm an prämierten Skillshare Original-Kursen teil

Jeder Kurs setzt sich aus kurzen Einheiten und praktischen Übungsprojekten zusammen

Mit deiner Mitgliedschaft unterstützt du die Kursleiter:innen auf Skillshare

Lerne von überall aus

Ob auf dem Weg zur Arbeit, zur Uni oder im Flieger - streame oder lade Kurse herunter mit der Skillshare-App und lerne, wo auch immer du möchtest.

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.