0
CSVファイルから情報を読み書きし、メインウィンドウに表示するプログラムがあります。別のウィンドウを開いてデータを入力することができます。データが正しく入力されると終了します。ここでは、単純なバージョンです:データが入力されるとTkinter:別のウィンドウを閉じるときにウィンドウを更新する(クラスベース)
import tkinter as tk
import csv, os
class main(object):
def __init__(self, master):
with open('filename.csv', 'r') as f:
#read data and display in main window
def newwindow(self):
#new window
class second_window(object):
def __init__(self, master):
#window stuff
def data_writer(self):
with open('filename.csv', 'r+') as f:
#do stuff
self.master.destroy()
root = tk.Tk()
app = main(root)
root.mainloop()
が、それはcsvファイルを更新し、第二のウィンドウを閉じますが、メインウィンドウが明らかに更新されません。私はいくつかのポインタを与えるいくつかの他のスレッドに出くわしましたが、特に2つのウィンドウが異なるクラスであるため、私のケースではうまくいきません。更新されたデータでメインウィンドウを更新するにはどうすればよいですか?メインウィンドウでself.master.destroy
に電話をかけて、再度開いてもよろしいですか?どんな助力も感謝しています。
openステートメントは、クラスのインストール中に一度だけ発生します。たぶん、openステートメントを別のメソッドに移動し、そのメソッドを第2クラスから呼び出して、メインクラスを更新してください。 –