Jak używać PYQT QCOMBOBOX

Jak używać PYQT QCOMBOBOX

A Combobox służy do wyboru jednego elementu z listy elementów, podobnie jak przycisk opcji. QCombobox Klasa PYQT służy do tworzenia rozwijanych list za pomocą skryptu Python. Wywołuje listę elementów do wyboru użytkownika. Elementy kombobox można dodawać, zmienić i usuwać za pomocą skryptu. Można wybrać wiele elementów, jak przycisk wyboru z listy elementów z kombobox, a następnie nazywa się to ListBox. Ten samouczek pokazuje, jak używać QCombobox do utworzenia rozwijanej listy w Python.

Metody QCombobox

Klasa QCombobox zawiera wiele metod wykonywania różnych zadań związanych z Combobox. Niektóre z bardziej powszechnie stosowanych metod tej klasy opisano poniżej:

Nazwa metody Zamiar
liczyć() Służy do zliczenia całkowitej liczby elementów na liście.
Dodaj Przedmiot() Służy do dodania jednego nowego elementu do listy.
Dodaj przedmioty() Służy do dodania wielu elementów do listy.
itemText () Służy do odczytania tekstu konkretnego elementu na podstawie indeksu.
setItemText () Służy do ustawienia tekstu konkretnego elementu na podstawie indeksu.
currentText () Używane do odczytania tekstu wybranego elementu.
currentIndex () Służy do odczytania indeksu wybranego elementu.
jasne() Służy do usuwania wszystkich elementów z listy.
podświetlony() Używane, gdy element na liście jest podświetlony.
aktywowany() Używane, gdy element jest wybierany przez użytkownika.
currentIndexchanged () Używane, gdy element na liście zmieni się.

Korzystanie z kombobox

Poniższe sekcje zawierają przykłady, które wyjaśniają niektóre różne zastosowania Combobox za pomocą modułu QCombobox biblioteki PYQT.

Przykład 1: Utwórz prostą listę rozwijaną

Ten przykład pokazuje, jak utworzyć prostą listę rozwijaną za pomocą klasy QCombobox. Tutaj tworzona jest rozwijana lista pięciu elementów i jest dołączona do funkcji niestandardowej, która wydrukuje wybraną wartość z listy. Jedna etykieta jest używana w funkcji rozwijanej listy do wyświetlania tekstu statycznego, a inna etykieta jest używana poniżej listy rozwijanej, aby wyświetlić wybraną wartość.

# Zaimportuj niezbędne moduły
Import Sys
z pyqt5.QTWidgets Import (Qapplication, QWidget, Qlabel, Qvboxlayout, Qcombobox)
# Zadeklaruj klasę, aby utworzyć kombobox
COMBOExample (QWidget):
def __init __ (ja):
Super().__w tym__()
# Ustaw etykietę przed komboboxem
samego siebie.toplabel = qLabel („Wybierz swój ulubiony język programowania: ', self)
# Zdefiniuj kombobox z przedmiotami
combobox = qcombobox (self)
Combobox.addItem („php”)
Combobox.AddItem („Python”)
Combobox.addItem („perl”)
Combobox.AddItem („Bash”)
Combobox.AddItem („Java”)
# Ustaw etykietę po kombobox
samego siebie.BottomLabel = qlabel (", self)
samego siebie.Bottomlabel.Dostosuj ()
# Zdefiniuj skrzynkę Vartical Layout
v_layout = qvboxlayout ()
v_layout.AddWidget (ja.toplabel)
v_layout.addWidget (ComboBox)
v_layout.AddWidget (ja.BottomLabel)
# Wywołaj metodę niestandardową, jeśli wybrany jest jakikolwiek element
Combobox.aktywowany [str].Połącz (ja.On -select)
# Ustaw konfiguracje dla okna
samego siebie.SetContentsmargins (20, 20, 20, 20)
samego siebie.setlayout (v_layout)
samego siebie.ruch (800, 300)
samego siebie.setWindowTitle („użycie ComboBox”)
# Funkcja niestandardowa do odczytania wartości wybranego elementu
def onselected (self, txtval):
txtval = "\ nyou wybrano:" + txtval
samego siebie.Bottomlabel.setText (TXTVAL)
# Utwórz obiekt aplikacji i wykonaj aplikację
app = qapplication (sys.Argv)
combobox = comboExample ()
Combobox.pokazywać()
App.exec ()

Jeśli użytkownik kliknie na liście rozwijanej po wykonaniu skryptu, pojawi się następująca lista.

Jeśli użytkownik wybierze wartość Grzmotnąć Z rozwijanej listy wartość drugiej etykiety zostanie zmieniona na 'Wybrałeś: Bash.'

Przykład 2: Utwórz kombobox za pomocą listy

W poprzednim przykładzie lista rozwijana została utworzona za pomocą danych statycznych przy użyciu metody addItem () klasy QCombobox. Ten przykład pokazuje, jak dodać wiele elementów na liście rozwijanej, definiując listę Python. Najpierw dodamy tekst statyczny do pierwszej pozycji listy rozwijanej za pomocą metody addItem (). Następnie zdefiniujemy listę pięciu elementów w skrypcie i dodamy te elementy do listy rozwijanej za pomocą metody AddItems (). Funkcja niestandardowa jest dołączona do listy rozwijanej, aby wyświetlić wiadomość w etykiecie na podstawie wyboru użytkownika.

# Zaimportuj niezbędne moduły
Import Sys
z pyqt5.Qtwidgets import *
# Deklaruj klasę, aby utworzyć Combobox za pomocą danych listy
Kombo klasę (QMainWindow):
def __init __ (ja):
Super().__w tym__()
# Ustaw tttle okna
samego siebie.setWindowTitle („Combobox z danymi listy”)
# Ustaw geometrię dla okna
samego siebie.Setgeometria (100, 100, 350, 150)
# Utwórz ComboBox
samego siebie.combobox = qcombobox (self)
# Ustaw geometrię dla kombobox
samego siebie.Combobox.Setgeometria (30, 30, 200, 30)
# Zdefiniuj elementy listy dla Combobox
src_engines = ["Google.com "," yahoo.com ",„ zapytaj.com ",„ Baidu.com "," yandex.com "]
# Włącz edytowalną opcję Combobox
samego siebie.Combobox.ustalone (prawda)
# Ustaw pierwszy element Combobox
samego siebie.Combobox.AddItem („Wybierz wyszukiwarkę”)
# Dodaj wiele elementów na liście kombobox za pomocą
samego siebie.Combobox.additems (src_engines)
# Zdefiniuj etykietę u dołu kombobox, aby dostarczyć komunikat dla użytkownika
samego siebie.msglabel = qlabel (", self)
# Ustaw geometrię etykiety
samego siebie.Msglabel.Setgeometria (30, 60, 290, 60)
# Wywołaj funkcję niestandardową po wybraniu dowolnego elementu
samego siebie.Combobox.aktywowany [str].Połącz (ja.Onclicked)
# Przenieś pozycję okna
samego siebie.ruch (800, 400)
# Wyświetl okno
samego siebie.pokazywać()
# Zdefiniuj metodę obsługi zdarzenia kliknięcia kombobox
def onclicked (self, val):
# Sprawdź, czy dowolny element jest wybierany przez użytkownika lub nie
Jeśli val == „Wybierz wyszukiwarkę”:
message = "nic nie wybrałeś."
w przeciwnym razie:
message = "Twoja ulubiona wyszukiwarka to" + val
# Wyświetl tekst wiadomości w etykiecie
samego siebie.Msglabel.setText (wiadomość)
# Wyświetl wiadomość w konsoli
Drukuj (wiadomość)
# Utwórz obiekt aplikacji
app = qapplication (sys.Argv)
# Utwórz obiekt obiektu klasy
combo = comboExample ()
# Wykonaj aplikację
App.exec ()

Jeśli użytkownik kliknie listę rozwijaną po wykonaniu skryptu, pojawi się następująca lista.

Jeśli użytkownik wybierze dowolny element oprócz pierwszego elementu na liście rozwijanej, wybrana wartość zostanie wyświetlona na etykiecie, łącząc się z drugim tekstem.

Jeśli użytkownik wybierze pierwszy element na liście rozwijanej, to wartość ”Nic nie wybrałeś„zostanie pokazane na etykiecie.

Wniosek

W tym artykule pokazano, jak tworzyć i korzystać z rozwijanych list w Pythonie za pomocą QCombobox Klasa używając prostych przykładów, które pomogą Ci lepiej zrozumieć korzystanie z tej klasy.