2017-07-25 10 views
6

मैं Tkinter का उपयोग कर एक बुनियादी यूआई का निर्माण किया जा रहा है, और मैंने देखा है कि cmd + एक (या सभी आदेश का चयन करें) सक्षम नहीं है में काम कर रहे।cmd + एक नहीं tkinter प्रविष्टि

मैं विशेष रूप से प्रवेश टेक्स्ट फ़ील्ड के लिए टिंकर में सभी शॉर्टकट कैसे सक्षम करूं।

यह मेरा कोड है:

entry1 = ttk.Entry(root, width = 60) 
entry1.pack() 

उत्तर

3

@ गोयो ने पहले ही आपके प्रश्न का उत्तर दिया है। मैं अपना योगदान साझा करना चाहता हूं क्योंकि मुझे एंट्री विजेट के पाठ के पाठ को चुनने में रुचि दिखाई नहीं दे रही है और इसके साथ कुछ और नहीं कर रहा है। तो मैं आपको यह दिखाने के लिए एक गंदे एमसीवीई प्रदान करने जा रहा हूं कि आप चयनित टेक्स्ट का उपयोग कैसे करेंगे: ए) या तो आप इसे हटा देंगे या बी) आप इसे कॉपी करेंगे।

के लिए एक), निम्नलिखित समारोह काम करेगा:

def select_text_or_select_and_copy_text(e): 
    e.widget.select_range(0, 'end') 

यह हालत आप प्रविष्टि विजेट के लिए समारोह के नाम से वर्णित इसी घटनाओं बाँध के तहत काम करेगा:

entry.bind('<Control-a>', select_text_or_select_and_copy_text) 
entry.bind('<Control-c>', select_text_or_select_and_copy_text) 

:

ख के लिए), तो आप इस समारोह का उपयोग कर सकते 0

और प्रविष्टि विजेट को Delete घटना बाँध:

entry.bind('<Delete>', delete_text) 

मैं इस MCVE की कोशिश की पर उबंटू और यह काम करता है:

import tkinter as tk 
import tkinter.ttk as ttk 


def select_text_or_select_and_copy_text(e): 
    e.widget.select_range(0, 'end')  

def delete_text(e): 
    e.widget.delete('0', 'end') 


root = tk.Tk() 

entry = ttk.Entry(root) 
entry.pack() 

entry.bind('<Control-a>', select_text_or_select_and_copy_text) 
entry.bind('<Control-c>', select_text_or_select_and_copy_text) 
entry.bind('<Delete>', delete_text) 

root.mainloop() 
7

tkinter shorcuts आप आप कीबोर्ड की घटनाओं जुड़ कर अपनी खुद की परिभाषित कर सकते हैं चाहता हूँ को परिभाषित नहीं करता है।

import tkinter as tk 
import tkinter.ttk as ttk 

def callback(ev): 
    ev.widget.select_range(0, 'end') 

root = tk.Tk() 
entry = ttk.Entry(root) 
entry.pack() 
entry.bind('<Command-a>', callback) 
root.mainloop() 

मुझे लगता है कि Command cmd कुंजी के लिए सही उपसर्ग है, लेकिन मैं नहीं है एक मैक परीक्षण करने के लिए। खिड़कियों में यह नियंत्रण कुंजी से बांधता है।

+0

बल्कि '' (Ubuntu पर परीक्षण किया) –

+2

@ BillalBEGUERADJ मैं अनुमान लगा रहा हूँ cmd + ए मैक के लिए है। '' और ' 'विंडोज में उसी तरह काम करने लगते हैं लेकिन मुझे यकीन नहीं है कि यह मैक में कैसे काम करता है। इंटरवेब्स में मिली सलाह '' का उपयोग करने का सुझाव देती है। – Goyo

+0

आप सही हैं, यह मामला हो सकता है। –