и так далее...

аюсь сделать простой набросок для графического интерфейса, и я получаю предупреждение "переменная" Может быть не определено или определено из импорта по звездам: tkinter для всех моих переменных.

Вот мой код:

from tkinter import *

class myApp :
    def __init__(self, gui,) :
        self.root = gui
        self.bframe = Frame(self.root)  # Create a container Frame at bottom
        self.bframe.pack(side=BOTTOM)
        self.xlabel = Label(self.root, text="Item ID")  # Create the Label
        self.xlabel.pack(side=LEFT)
        self.xentry = Entry(self.root, bd=5)  # Create the Entry box
        self.xentry.pack(side=LEFT)
        self.xentry.bind('<Return>', self.showStockItem)
        self.xentry.focus_set()  # Set focus in the Entry box
        self.xopen = Button(self.root, text="Show", command=self.showStockItem) # Create the open Button
        self.xopen.pack(side=LEFT)
        self.xquit = Button(self.bframe, text="Quit", command=self.quitit) # Create the quit Button
        self.xquit.pack(side=BOTTOM)
        return

gui = Tk()
gui.title("Travel")
app = myApp(gui)
gui.mainloop()
 furas30 нояб. 2017 г., 03:11
всегда ставьте под вопрос полное сообщение об ошибке (Traceback) (как текст, а не скриншот). Есть другая полезная информация.
 Ignacio Vazquez-Abrams30 нояб. 2017 г., 03:04
А также? Вы думаете, что это неправильно?
 furas30 нояб. 2017 г., 03:13
КСТАТИ:__init__ не нужноreturn
 Ignacio Vazquez-Abrams30 нояб. 2017 г., 03:21
@furas: Это не обратная связь, это предупреждение от линтера.

Ответы на вопрос(2)

Решение Вопроса

from tkinter import *

В этой строке вы импортируете все изtkinter, Это не рекомендуется, поэтому Линтер предупредит вас. Но если вы действительно хотите это сделать, все в порядке, просто игнорируйте это.

Чтобы быть лучше, вы должны явно импортировать то, что вам нужно. Например:

from tkinter import Tk, Label, Frame, Entry, Button
 Bryan Oakley30 нояб. 2017 г., 03:27
Это, возможно, немного лучше, но это больше проблем, чем оно того стоит. По мере развития программы вы должны продолжать импортировать все больше и больше вещей. С большим пакетом, таким как tkinter, лучшим решением будет просто импортировать пакет и добавить к имени префикса все, что вам нужно (например:import tkinter as tk; root = tk.Tk().

Рассмотрите возможность использования:

import tkinter as tk

а затем префикс всех ваших звонков, как:

root = tk.Tk()

или же,

variableName.pack(side = tk.LEFT)

и так далее...

Ваш ответ на вопрос