Learning Python Vocabulary with PySide/PyQT Form Handling Application 🖥️🐍

Posted by


Cześć! W dzisiejszym tutorialu chciałbym pokazać Ci, jak stworzyć prostą aplikację do nauki słówek w języku Python przy użyciu biblioteki PySide/PyQT do obsługi formularza.

Jeśli jeszcze nie masz zainstalowanej biblioteki PySide2 lub PyQT5, możesz to zrobić poprzez pip:

pip install PySide2

lub

pip install pyqt5

Teraz, gdy mamy wszystkie narzędzia, możemy przejść do implementacji naszej aplikacji. Zacznijmy od importowania potrzebnych modułów:

from PySide2.QtWidgets import QApplication, QMainWindow, QLabel, QPushButton, QLineEdit, QVBoxLayout, QWidget
import sys

Następnie stwórzmy klasę MainWindow, która będzie dziedziczyć po QMainWindow:

class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("Aplikacja do nauki słówek")
        self.resize(400, 200)

        self.central_widget = QWidget()
        self.setCentralWidget(self.central_widget)

        self.layout = QVBoxLayout()

        self.label = QLabel("Podaj słowo do nauki:")
        self.layout.addWidget(self.label)

        self.input_box = QLineEdit()
        self.layout.addWidget(self.input_box)

        self.button = QPushButton("Sprawdź")
        self.button.clicked.connect(self.check_word)
        self.layout.addWidget(self.button)

        self.central_widget.setLayout(self.layout)

    def check_word(self):
        word = self.input_box.text()
        # Sprawdzenie poprawności wpisanego słowa i wyświetlenie wyniku

W metodzie check_word będziemy pobierać wpisane słowo z pola tekstowego i sprawdzać jego poprawność. Możesz dodać tutaj dowolną logikę sprawdzania słów w zależności od potrzeb.

Na koniec musimy stworzyć instancję naszej aplikacji i pokazać ją na ekranie:

if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = MainWindow()
    window.show()
    sys.exit(app.exec_())

To już wszystko! Po wykonaniu tego kodu powinna pojawić się aplikacja do nauki słówek, w której możesz wpisywać słowa i sprawdzać ich poprawność.

Mam nadzieję, że ten tutorial okazał się pomocny! Jeśli masz jakieś pytania lub chciałbyś dowiedzieć się więcej na temat obsługi formularzy PySide/PyQT, daj znać w komentarzach. 😉

0 0 votes
Article Rating

Leave a Reply

6 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@ukaszukawczyk6282
26 days ago

Projekt będzie rozwijany czy został odpuszczony? Ogolnie PySide2 wydaje sie duzo latwiejszy od Tk ale jak zawsze mam problem z tworzeniem kolejnych okien, wiec moze kolejny film pod tym kontem. Kilka mozliwosci przejscia dalej, w gląb oraz powrotu.
Przykladowo: otwieramy program, wybieramy kategorie (np zwierzeta, rodzina, dom), nastepnie kolejny wybor nauka/egzamin (oraz opcje powrotu do wczesniejszego okna). Nauka – slowko obcojezyczne oraz obrazek, opis w jezyku obcym, tlumaczenie. Egzamin w zasadzie jest juz przygotowany z tym ze dorzucilbym tam losowe wyswietlanie slowek pojedynczo (czyli pewnie jeszcze dopisanie opcji wroc i dalej – na wypadek gdy bedziemy cos chcieli zmienic) no i po ostatnim slowku zakoncz i wyswietl wynik. Mozna by sie pokusic jeszcze o rozdzielenie egzaminow dla kazdej kategorii osobno oraz dodanie egzaminu zbiorczego z calosci (z tych 3 kategorii). Głównie zależy mi na tym jak dzielić to wszystko na pliki i jak sie po tym poruszac (layout od kazdej strony tez dzielimy na pliki, wrzucamy w funkcje, importujemy i wczytujemy jak zwykla funkcje? Czy caly layout jest wrzucony w main a tylko funkcje sie przenosi?).

@marekbzdula1816
26 days ago

Mógłbyś mi powiedzieć jak mogę taką aplikację uruchomić bezpośrednio na system Windows czy Linux ?

@riskzerobeatz
26 days ago

Boom, boom, boom, boom, I want you in my room 😀

@wojtekmankowski4621
26 days ago

Opowiedz coś więcej o automatyzacji zadań(uruchamianie programu co godzinę).

@tenmateuszhadrys
26 days ago

Czy programy okienkowe w Pythonie są powszechnie używane/tworzone? Czy tworzenie GUI w pythonie bardziej powinno się traktować jako ciekawostkę?

6
0
Would love your thoughts, please comment.x
()
x