मैं ttk/tkinter का उपयोग कर एक मूल जीयूआई बनाने की कोशिश कर रहा हूं।पायथन और टीटीके लेबल का उपयोग फ्रेम फ्रेम को साफ करने के लिए फ्रेम
मैं एक एक बुनियादी जीयूआई सही बुनियादी घटक है कि बाहर की साजिश रची है, लेकिन जब मैं कोशिश करते हैं और/यह अंतरिक्ष बाहर यह सुंदर बनाना है, मैं अच्छी तरह से खेलने के लिए टीटीके कंटेनर होने का मेरी सीमा ... तक पहुँचने हूँ
उदाहरण:
from Tkinter import *
import ttk
class MakeGUI(object):
def __init__(self,root):
self.root = root
self.root.title("Text Comparitor")
## build frame
self.mainframe = ttk.Frame(self.root, padding="3 3 12 12")
self.mainframe.grid(column=0, row=0, sticky=(N, W, E, S))
self.mainframe.columnconfigure(0, weight=1)
self.mainframe.rowconfigure(0, weight=1)
self.mainframe.pack()
## text labels
ttk.Label(self.mainframe, text="Conversion Truth Tester", font=("Helvetica", 32)).grid(column=1, row=1, sticky=E)
self.mainframe.pack(side="bottom", fill=BOTH, expand=True)
self.mainframe.grid()
ttk.Label(self.mainframe, text="Source Filename:").grid(column=1, row=2, sticky=W)
ttk.Label(self.mainframe, text="Source Text:").grid(column=1, row=3, sticky=W)
ttk.Label(self.mainframe, text="Converted Text:").grid(column=1, row=4, sticky=W)
ttk.Label(self.mainframe, text="Cleaned Source:").grid(column=1, row=5, sticky=W)
ttk.Label(self.mainframe, text="Cleaned Converted:").grid(column=1, row=6, sticky=W)
ttk.Label(self.mainframe, text="Details:").grid(column=1, row=7, sticky=W)
## buttons
self.close = ttk.Button(self.mainframe, text="Close",command=self.closeFrame).grid(column=1, row=9, sticky=SE)
self.next = ttk.Button(self.mainframe, text="Next",command=self.nextPara).grid(column=1, row=9, sticky=S)
self.next = ttk.Button(self.mainframe, text="Prev",command=self.prevPara).grid(column=1, row=9, sticky=SW)
def closeFrame(self):
self.root.destroy()
def nextPara(self):
pass
def prevPara(self):
pass
def main():
root = Tk()
makeGUI = MakeGUI(root)
root.mainloop()
if __name__ == '__main__':
main()
कौन सा में परिणाम:
मैं एक 2 कंटेनर वस्तु, पाठ लेबल वस्तुओं धारण करने के लिए एक लेबल फ्रेम, जो बटन आगे बढ़ने में परिणाम जोड़ने की कोशिश कर रहा है (और इसलिए मुझे लगता है कि मैं खुद को संदर्भित नहीं कर रहा हूं ग्रिड ठीक से में टहनी:
from Tkinter import *
import ttk
class MakeGUI(object):
def __init__(self,root):
self.root = root
self.root.title("Text Comparitor")
## build frame
self.mainframe = ttk.Frame(self.root, padding="3 3 12 12")
self.mainframe.grid(column=0, row=0, sticky=(N, W, E, S))
self.mainframe.columnconfigure(0, weight=1)
self.mainframe.rowconfigure(0, weight=1)
self.mainframe.pack()
## text labels
ttk.Label(self.mainframe, text="Conversion Truth Tester", font=("Helvetica", 32)).grid(column=1, row=1, sticky=E)
self.lfdata = ttk.Labelframe(self.root, labelwidget=self.mainframe, text='Label')#
self.lfdata.grid()
ttk.Label(self.lfdata, text="Source Filename:").grid(column=1, row=2, sticky=W)
ttk.Label(self.lfdata, text="Source Text:").grid(column=1, row=3, sticky=W)
ttk.Label(self.lfdata, text="Converted Text:").grid(column=1, row=4, sticky=W)
ttk.Label(self.lfdata, text="Cleaned Source:").grid(column=1, row=5, sticky=W)
ttk.Label(self.lfdata, text="Cleaned Converted:").grid(column=1, row=6, sticky=W)
ttk.Label(self.lfdata, text="Details:").grid(column=1, row=7, sticky=W)
## buttons
self.close = ttk.Button(self.mainframe, text="Close",command=self.closeFrame).grid(column=1, row=9, sticky=SE)
self.next = ttk.Button(self.mainframe, text="Next",command=self.nextPara).grid(column=1, row=9, sticky=S)
self.next = ttk.Button(self.mainframe, text="Prev",command=self.prevPara).grid(column=1, row=9, sticky=SW)
def closeFrame(self):
self.root.destroy()
def nextPara(self):
pass
def prevPara(self):
pass
def main():
root = Tk()
makeGUI = MakeGUI(root)
root.mainloop()
if __name__ == '__main__':
main()
कौन सा में परिणाम: नोट बटन अब्द लेबल के बीच पदों की अदला-बदली, और labelframe के बारे में दिखाई पहलुओं।
मैं दूसरे संस्करण को 'लुक' करने के लिए पहले के एक सुंदर संस्करण की तरह कोशिश कर रहा हूं।
कोई भी पॉइंटर्स - मैं विभिन्न संसाधनों/दस्तावेज़ों के आसपास पढ़ रहा हूं, और मेरे उदाहरण को फिट करने वाली कुछ भी नहीं मिल सकती है (सबसे अधिक संभावना है - मैं कुछ मूर्खतापूर्ण कर रहा हूं ...) और मैंने जो कुछ भी कोशिश नहीं की है अभी तक काम किया - pack()
, grid()
और अन्य संबंधित उदाहरणों में मुझे मिले अन्य स्निपेट्स सहित।
यह ग्रिड का उपयोग नहीं करने के लिए बेहतर है और एक खिड़की में पैक करें। मैं ग्रिड पसंद करते हैं। इसके अलावा मुझे लगता है कि बटन चर (डिफ़ॉल्ट ग्रिड के साथ) आप जो अपेक्षा करते हैं उसे स्टोर नहीं करेंगे। जहां तक मुझे याद है, ग्रिड वस्तु के संदर्भ को वापस नहीं लौटाता है। – Gonzo
@ फ़ेलिक्स _Tkinter_ विजेट एक ही विंडो के भीतर विभिन्न ज्यामिति प्रबंधकों का उपयोग कर सकते हैं ** जब तक वे एक ही माता-पिता ** साझा नहीं करते हैं। _pack_ कम कोड वाले कुछ चीजें पूरा कर सकता है; इसलिए मैं केवल _grid_ का उपयोग करने की अनुशंसा नहीं करता। –