'変数A'という名前の変数を 'Class_A'クラスから 'App(tk)'という別のクラスにあるリストボックスに挿入しようとしています。誰でも助けてくれますか?別のクラスからTkinterリストボックスに変数を挿入する
しかし、「実行」ボタンを押した後のコードを使用すると、既存の「ポジティブ」リストボックスに「変数A」を挿入する代わりに、新しいウィンドウ(メインウィンドウと同じ)が開きます窓。 と私はまた、エラーが表示されますはAttributeErrorは:「_tkinter.tkapp」オブジェクトが属性を持っていないここにmyListbox_01 "
はコードです:
from tkinter import *
import tkinter.messagebox as tkMessageBox
import tkinter.filedialog as tkFileDialog
class class_A(object):
def __init__(self, isON = False):
self.isOn = False
def turnOn(self):
self.isOn = True
tkMessageBox.showinfo(title = 'On', message = 'It is on')
x = 'favorable'
if x == 'favorable':
temp_App = App()
temp_App.myListbox_01.insert(END, 'Variable A')
else:
temp_App.myListbox_02.insert(END, 'Variable A')
def turnOff(self):
self.isOn = False
tkMessageBox.showinfo(title = 'Off', message = 'It is off')
class App(Tk):
def __init__(self):
Tk.__init__(self)
def toggle():
if button.config('text')[-1] == 'Run':
A = class_A()
A.turnOn()
button.config(text='Stop')
else:
button.config(text='Run')
A = class_A()
A.turnOff()
Frame_0 = Frame(self, bg = 'Black', borderwidth = 2, relief = GROOVE)
Frame_0.pack(side = TOP, padx = 10, pady = 2.5)
# Positive
Frame_title01 = Frame(Frame_0, bg="white", height = 10, width = 300, borderwidth = 2, relief=GROOVE)
Frame_title01.grid(row = 0, column = 0, padx=5, pady=5)
Label(Frame_title01, text="positive").pack(padx=2, pady=2)
Frame_01 = Frame(Frame_0, bg="white", height = 200, width = 300, borderwidth = 2, relief=GROOVE)
Frame_01.grid(row = 1, column = 0, padx=5, pady=5)
myListbox_01 = Listbox(Frame_01, bg = 'white', width = 15, height = 10, font = ('times', 14), borderwidth=0)
myListbox_01.grid(row = 0, column = 0, padx = 80, pady = 5)
# Negative
Frame_title02 = Frame(Frame_0, bg="white", height = 10, width = 300, borderwidth = 2, relief=GROOVE)
Frame_title02.grid(row = 0, column = 1, padx=2, pady=2)
Label(Frame_title02, text="Negative").pack(padx=2, pady=2)
Frame_02 = Frame(Frame_0, bg="white", height = 200, width = 300, borderwidth = 2, relief=GROOVE)
Frame_02.grid(row = 1, column = 1, padx=5, pady=5)
myListbox_02 = Listbox(Frame_02, bg = 'white', width = 15, height = 10, font = ('times', 14), borderwidth=0)
myListbox_02.grid(row = 0, column = 0, padx = 80, pady = 5)
# Button
Frame_1 = Frame(self, bg = 'white', borderwidth = 2, relief = FLAT)
Frame_1.pack(side = TOP)
button = Button(Frame_1, text = 'Run', command = toggle)
button.pack(pady = 10)
if __name__ == "__main__":
app = App()
app.geometry("800x300+51+51")
app.title("GUI")
app.mainloop()
出力の例とそれが機能しない理由を教えてください。それはあなたにエラーを出すのか、正しい出力を出さないのか、それとも何か他のことをしているのでしょうか?あなたは私たちに良いコードサンプルを与えました。いくつかの出力と問題点を提示してください。 – HyperNeutrino
@Alex、サンプル出力と問題を投稿しました。 – Fxs7576