2013-02-14 20 views
10

में मैं पाइथन और टिंकर का उपयोग करके एक जीयूआई बना रहा हूं और बस सोच रहा हूं कि जीयूआई पर किसी भी आउटपुट टेक्स्ट को किसी भी विंडो में नहीं दिखाना है दुभाषिया/खोल?पायथन टिंकर: किसी भी आउटपुट को GUI पर किसी टेक्स्ट बॉक्स में खोलें नहीं,

अग्रिम

+0

के संभावित डुप्लिकेट [पायथन: जीयूआई को CLI परिवर्तित] (http://stackoverflow.com/questions/12351786/python-converting-cli-to-gui) –

+2

नहीं वास्तव में एक dup यह –

+0

आप पूछ रहे हैं कि कैसे करने के लिए है अपने जीयूआई में "प्रिंट करें" foo करें, लेकिन क्या यह टेक्स्ट विजेट में जादुई रूप से दिखाई देता है? –

उत्तर

7

धन्यवाद करते हैं, तो के रूप में ब्रायन ओकले की टिप्पणी में सुझाव दिया, आप चाहते हैं, पिछले प्रश्न Python : Converting CLI to GUI में जवाब देख "अपने जीयूआई में प्रिंट 'foo' है, लेकिन यह जादुई पाठ विजेट में दिखाई देते हैं।" यह उत्तर टेक्स्ट बॉक्स में आउटपुट का उत्पादन करने के तरीके के सरल मुद्दे को संबोधित करता है। स्क्रॉलिंग टेक्स्ट विंडो बनाने के लिए, टेक्स्ट विजेट बनाएं और रखें या पैक करें (चलिए इसे mtb पर कॉल करें), फिर mtb.insert(Tkinter.END, ms) जैसे स्ट्रिंग ms को टेक्स्ट बॉक्स mtb में बॉक्स बॉक्स स्क्रॉल करने के लिए mtb.see(Tkinter.END) में जोड़ने के लिए कमांड का उपयोग करें। (देखें "The Tkinter Text Widget" प्रलेखन अधिक जानकारी के लिए।) उदाहरण के लिए:

#!/usr/bin/env python 
import Tkinter as tk 

def cbc(id, tex): 
    return lambda : callback(id, tex) 

def callback(id, tex): 
    s = 'At {} f is {}\n'.format(id, id**id/0.987) 
    tex.insert(tk.END, s) 
    tex.see(tk.END)    # Scroll if necessary 

top = tk.Tk() 
tex = tk.Text(master=top) 
tex.pack(side=tk.RIGHT) 
bop = tk.Frame() 
bop.pack(side=tk.LEFT) 
for k in range(1,10): 
    tv = 'Say {}'.format(k) 
    b = tk.Button(bop, text=tv, command=cbc(k, tex)) 
    b.pack() 

tk.Button(bop, text='Exit', command=top.destroy).pack() 
top.mainloop() 

ध्यान दें, यदि आप पाठ खिड़की लंबी अवधि के लिए खुले रहते हैं और/या पाठ के गीगाबाइट जमा करने की उम्मीद करता है, तो, शायद कितना डेटा का ट्रैक रखने टेक्स्ट बॉक्स में है, और इसे सीमित करने के लिए अंतराल पर delete विधि का उपयोग करें।

+1

मुझे जो चाहिए वह एक बॉक्स है जो जीयूआई विंडो पर रखा गया है जो गुई पर रखे बटनों द्वारा बुलाए गए कार्यों से आउटपुट वाले किसी भी पाठ को प्रदर्शित करता है –