Skip to content

Commit 9a0fa63

Browse files
committed
Improve the interfaces lesson (tkui)
- Handle Spinbox not being available in Python 3.6- - Update screenshot
1 parent 2e27024 commit 9a0fa63

File tree

3 files changed

+17
-2
lines changed

3 files changed

+17
-2
lines changed

lessons/beginners/interfaces/index.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,10 @@ které mají (téměř) stejné rozhraní – jen dělají něco trochu jinak.
7474
Případné vlastní definice funkcí `nacti_cislo` a `ano_nebo_ne` pak z programu
7575
vyndej, aby se použily ty naimportované.
7676

77+
> [note]
78+
> Funkce `tkui.nacti_cislo` potřebuje Python verze 3.7 nebo vyšší.
79+
> Používáš-li Python 3.6, `nacti_cislo` nenahrazuj.
80+
7781
Program by měl fungovat stejně jako dřív!
7882

7983
Je to tím, že tyto funkce mají stejné rozhraní jako jejich dřívější protějšky,

lessons/beginners/interfaces/static/tkui.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,13 @@
1111
"""
1212

1313
from tkinter import Tk, LEFT, RIGHT, BOTTOM, TOP, W
14-
from tkinter.ttk import Label, Button, Spinbox, Entry
14+
from tkinter.ttk import Label, Button, Entry
15+
16+
# Spinbox byl přidán v Pythonu 3.7
17+
try:
18+
from tkinter.ttk import Spinbox
19+
except ImportError:
20+
Spinbox = None
1521

1622

1723
# Následující kód používá několik pokročilejších technik.
@@ -51,6 +57,11 @@ def input(otazka='odpověz'):
5157

5258
def nacti_cislo(otazka='Zadej číslo'):
5359
"""Zeptá se uživatele na otázku a vrátí odpověď jako celé číslo."""
60+
if Spinbox == None:
61+
raise NotImplementedError(
62+
"nacti_cislo bohužel potřebuje Python verze 3.7 a výš"
63+
)
64+
5465
root = Tk()
5566
root.title(otazka)
5667

@@ -146,6 +157,6 @@ def print(*args, sep=' ', end='', file=None, flush=False):
146157
# Pro opravdové programy ale doporučuji spouštěcí modul, viz kurz.
147158
if __name__ == '__main__':
148159
print(input())
149-
print(nacti_cislo())
150160
print(ano_nebo_ne())
151161
print('a', 'b', 'c', sep='; ', end='-')
162+
print(nacti_cislo())
-373 Bytes
Loading

0 commit comments

Comments
 (0)