2009-10-21 8 views
5

Trong giao diện tkinter của python, có tùy chọn cấu hình sẽ thay đổi Nhãn sao cho bạn có thể chọn văn bản trong Nhãn và sau đó sao chép nó vào khay nhớ tạm không?Trong tkinter của python, làm thế nào tôi có thể tạo một Nhãn sao cho bạn có thể chọn văn bản bằng chuột?

EDIT:

Làm thế nào bạn sẽ sửa đổi này "hello world" ứng dụng để cung cấp chức năng như vậy?

from Tkinter import * 

master = Tk() 

w = Label(master, text="Hello, world!") 
w.pack() 

mainloop() 

Trả lời

9

Cách đơn giản nhất là sử dụng một widget văn bản khuyết tật với chiều cao 1 dòng:

from Tkinter import * 

master = Tk() 

w = Text(master, height=1, borderwidth=0) 
w.insert(1.0, "Hello, world!") 
w.pack() 

w.configure(state="disabled") 

# if tkinter is 8.5 or above you'll want the selection background 
# to appear like it does when the widget is activated 
# comment this out for older versions of Tkinter 
w.configure(inactiveselectbackground=w.cget("selectbackground")) 

mainloop() 

Bạn có thể sử dụng một widget mục trong một cách tương tự.

+1

Đối với tôi, 'state =" disabled "' thậm chí không cho phép tôi chọn văn bản cần sao chép. Đặt nó thành 'state =" readonly "' thực sự đã hoạt động. – AneesAhmed777

4

Thực hiện một số thay đổi đối với mã trên:

from tkinter import * 

master = Tk() 

w = Text(master, height=1) 
w.insert(1.0, "Hello, world!") 
w.pack() 



# if tkinter is 8.5 or above you'll want the selection background 
# to appear like it does when the widget is activated 
# comment this out for older versions of Tkinter 
w.configure(bg=master.cget('bg'), relief=FLAT) 

w.configure(state="disabled") 

mainloop() 

Việc cứu trợ cần phải được căn hộ để cho nó trông giống như một phần bình thường của màn hình. :)