だから私はクラスで少しC++コンソールのことをすることができ(私が思うにそれほど派手なことは何もない)、Python(素晴らしい言語、心配のないC ++のようなもの)とTkinterから始めたばかりです。
問題は、GUIを備えたプログラムが一般的にどのように構成されているかについての手がかりが実際にはないということです。インターフェイスを内部の仕組みから分離する必要があることは知っていますが、それだけです。例として、ExcelテーブルをLaTeXテーブルに変換する小さなアプリに取り組んでいますが、これまでのところ、次のようになっています。
from Tkinter import *
class ExcelToLateX:
def __init__(self,master):
self.convert = Button(master,text="Convert",command=self.Conversion)
self.convert.pack(side=BOTTOM,fill=X)
self.input=Input(master,40)
self.output=Output(master,40)
def Conversion(self):
self.output.Write(self.input.Read())
class Input:
def __init__(self,master,x):
self.u=Text(master,width=x)
self.u.pack(side=LEFT)
self.u.insert(1.0,"Paste Excel data here...")
def Read(self):
return self.u.get(1.0,END)
class Output:
def __init__(self,master,x):
self.v=Text(master,width=x)
self.v.pack(side=RIGHT)
self.v.insert(1.0,"LaTeX code")
def Write (self,input):
self.input=input
if self.v.get(1.0,END)=="":
self.v.insert(1.0,self.input)
else:
self.v.delete(1.0,END)
self.v.insert(1.0,self.input)
#Test script
root=Tk()
Window=ExcelToLateX(root)
root.mainloop()
だから私はものを読み書きできる2つのテキストウィジェットと(今のところ)Excelテーブルを取りLaTeXコードを吐き出す空の変換クラスを持っています。これが進むべき道かどうかはわかりません(コメントやヒントをいただければ幸いです)。
つまり、2つの質問があります。
GUIを備えたプログラムがどのように構成されているかに関する情報を提供する広く認められている情報源はありますか?(PythonとTkinterが望ましいのは、それが私が正しく知っていることだからですが、もう少し一般的(言語間)かもしれませんが)
私の現在のアプリケーションは構造に関しては良いですか?そうでない場合、経験則と私が改善できることは何ですか?