Miért dob hibát ennél a Tkinter parancsnál?
from tkinter import *
from random import randint
def dob():
szöveg.delete(0.0, END)
szöveg.insert(END, str(randint(1, 6)))
ablak = Tk()
szöveg = Text(ablak, width=1, height=1)
gomb_A = Button(ablak, text='Nyomd meg!', command=dob)
szöveg.pack()
gomb_A.pack()
Ha lefuttatom nem jelenik meg semmi. Vár egy picit és leáll.Ez azt jelenti, hogy valami fut a háttérbe.
Olyanokat ír, hogy:
Unused import enum from wildcard import
Unused import sys from wildcard import
Unused import TclError from wildcard import
Ha ezeket másolom és beillesztem valahova ezt dobja ki:
Első: {
"resource": "/c:/Users/User/Desktop/Mate/Programozás gyerekeknek (Carol Vorderman)/Ablakok_készítése.py",
"owner": "python",
"code": "unused-wildcard-import",
"severity": 4,
"message": "Unused import enum from wildcard import",
"source": "pylint",
"startLineNumber": 14,
"startColumn": 1,
"endLineNumber": 14,
"endColumn": 1
}
Második: {
"resource": "/c:/Users/User/Desktop/Mate/Programozás gyerekeknek (Carol Vorderman)/Ablakok_készítése.py",
"owner": "python",
"code": "unused-wildcard-import",
"severity": 4,
"message": "Unused import sys from wildcard import",
"source": "pylint",
"startLineNumber": 14,
"startColumn": 1,
"endLineNumber": 14,
"endColumn": 1
}
Harmadik: {
"resource": "/c:/Users/User/Desktop/Mate/Programozás gyerekeknek (Carol Vorderman)/Ablakok_készítése.py",
"owner": "python",
"code": "unused-wildcard-import",
"severity": 4,
"message": "Unused import TclError from wildcard import",
"source": "pylint",
"startLineNumber": 14,
"startColumn": 1,
"endLineNumber": 14,
"endColumn": 1
}
A fő probléma az, hogy a fő ablak létrejön, de azt nem "indítod el" a mainloop() metódussal:
ezért nem jelenik meg.
Másrészt nem szabad ékezetes változóneveket használni.
A pylint egy "linter" egy kódanalizáló eszköz, ami a kódban levő hibákat mutatja meg, illetve ad némi kódolási "stílustanácsadást" (amik nem kötelezően betartandóak, csak egységessé teszik a kódot - erről szól a python pep8-as útmutatója: [link] )
Hogy működőképes legyen, és a pylint se nyafogjon annyit kicsit átalakítottam a kódot:
részletesen:
- 1. sor: karakterkódolás - ha utf-8-as karakterkódolással mented el az állományt, akkor meg kell adni
- 3-6. sor: a tkinter modul beimportálása Python 2 és 3 verziók alatt - ha egyik nem menne, akkor beimportáljuk a másikat
- az import esetén a pylint nem szereti a *-ot, mert feleslegesen importál be mindent, ezért inkább egyenként megadtam a beimportálandó osztályokat
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!