blog.furas.pl
# prywatne notatki - Python, Linux, Machine Learning, etc.

TextEntryDialog proste okno dialogowe do wprowadzania tekstu w wxPython

Najprostrzy przykład użycia

Tworzenie okna dialogowego do wprowadzania tekstu, wyświetlenie, sprawdzanie czy wciśnięto OK i pobranie wprowadzonego tekstu

#!/usr/bin/python

import wx

# inicjacja wx
app = wx.App()

# definicja okna dialogowego
dlg = wx.TextEntryDialog(None, "Podaj tekst")

# pokazanie okna i pobranie informacji o sposobie zamkniecia okna
if dlg.ShowModal() == wx.ID_OK:
    # wcisnieto 'OK' wiec pobieramy tekst wpisany w oknie
    print "Podano tekst:", dlg.GetValue()
else:
    # wcisnieto 'Anuluj'
    print "Zrezygnowano"

Modyfikacje

Nagłowek okna

Dodanie tekstu wyświetlanego w nagłówku okna:

dlg = wx.TextEntryDialog(None, "Podaj tekst", "Nagłowek okna")


::::python
dlg = wx.TextEntryDialog(None, "Podaj tekst", caption="Nagłowek okna")


::::python
dlg = wx.TextEntryDialog(None, "Podaj tekst")
dlg.SetTitle("Nagłowek okna")

Wartość domyślna

Dodanie wartości domyślnej wyświetlanej w polu do wpisywania tekstu:

# trzeba podac naglowek okna
dlg = wx.TextEntryDialog(None, "Podaj tekst", "Przykładowe okno", "wartość domyślna")


::::python
# nie trzeba podawac naglowka okna
dlg = wx.TextEntryDialog(None, "Podaj tekst", defaultValue="wartość domyślna")


::::python
# dodawanie wartosci po zadeklarowaniu dlg
dlg = wx.TextEntryDialog(None, "Podaj tekst")
dlg.SetValue("wartość domyślna")

Zmiana wyglądu

Klasyczny (domyślny) wygląd z przyciskiem 'OK' i 'Anuluj'. Klawisz ENTER jest równoważny z wciśnięciem 'OK' (i wygenerowaniem wyniku wx.ID_OK) Klawisz ESC jest równoważny z wciśnięciem 'Anuluj' (i wygenerowaniem wyniku wx.ID_CANCEL)

# trzeba podac naglowek okna i wartosc domyslna
dlg = wx.TextEntryDialog(None, "Podaj tekst", "Przykładowe okno", "wartość domyślna", wx.OK|wx.CANCEL )


::::python
# nie trzeba podawac naglowka okna ani wartosc domyslna
dlg = wx.TextEntryDialog(None, "Podaj tekst", style=wx.OK|wx.CANCEL )

Okno tylko z przyciskiem 'OK' bez 'Anuluj'. Klawisz ENTER i ESC jest równoważny z wciśnięciem 'OK' (i wygenerowaniem wyniku wx.ID_OK)

# trzeba podac naglowek okna i wartosc domyslna
dlg = wx.TextEntryDialog(None, "Podaj tekst", style=wx.OK )

Pole na wprowadzanie hasła - zamiast wpisywanych znaków pokazuje kropki

dlg = wx.TextEntryDialog(None, "Podaj tekst", style=wx.OK|wx.CANCEL|wx.TE_PASSWORD )

Pole na tekst wielowierszowy. Klawisz ENTER przechodzi do nowej linii w polu zamiast zatwierdzić przycisk 'OK'

dlg = wx.TextEntryDialog(None, "Podaj tekst", style=wx.OK|wx.CANCEL|wx.TE_MULTILINE )

Zmiana pozycji

Podajemy pozycję na ekranie dla lewego górnego rogu okna. Pozycję podajemy jako tuple/krotkę (x,y) Górny lewy róg ekranu ma współrzędne (0,0).

Umieszczenie okna w prawym górnym rogu ekranu - lewy górny róg okna znajdzie się w pozycji (0,0)

# trzeba podac naglowek okna, wartosc domyslna i styl
dlg = wx.TextEntryDialog(None, "Podaj tekst", "Przykładowe okno", "wartość domyślna", wx.OK|wx.CANCEL, (0,0) )


::::python
# nie trzeba podawac naglowka okna, wartosc domyslna i stylu
dlg = wx.TextEntryDialog(None, "Podaj tekst", pos=(0,0) )


::::python
dlg = wx.TextEntryDialog(None, "Podaj tekst")
dlg.SetPosition( (0,0) )
Książki: python-dla-kazdego-podstawy-programowania python-wprowadzenie python-leksykon-kieszonkowy python-receptury python-programuj-szybko-i-wydajnie python-projekty-do-wykorzystania black-hat-python-jezyk-python-dla-hackerow-i-pentesterow efektywny-python-59-sposobow-na-lepszy-kod tdd-w-praktyce-niezawodny-kod-w-jezyku-python aplikacje-internetowe-z-django-najlepsze-receptury