في Python's tkinter ، كيف يمكنني صنع تسمية بحيث يمكنك تحديد النص مع الماوس؟
سؤال
في واجهة Tkinter الخاصة بـ Python ، هل هناك خيار تكوين سيغير التسمية بحيث يمكنك تحديد النص في التسمية ثم نسخه إلى الحافظة؟
تعديل:
كيف يمكنك تعديل تطبيق "Hello World" هذا لتوفير هذه الوظائف؟
from Tkinter import *
master = Tk()
w = Label(master, text="Hello, world!")
w.pack()
mainloop()
المحلول
أسهل طريقة هي استخدام عنصر واجهة مستخدم للمعاقين مع ارتفاع خط واحد:
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()
يمكنك استخدام أداة دخول بطريقة مماثلة.
نصائح أخرى
قام ببعض التغييرات على الكود أعلاه:
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()
يجب أن تكون الإغاثة مسطحة حتى تبدو جزءًا عاديًا من الشاشة. قون
يمكنك عمل نصوص يمكن اختيارها باستخدام أي منهما Text
أو Entry
أجد كلاهما مفيدًا ، يمكن أن يكون استخدام النص مفيدًا حقًا! هنا أريكم رمز الدخول:
from tkinter import *
root = Tk()
data_string = StringVar()
data_string.set("Hello World! But, Wait!!! You Can Select Me :)")
ent = Entry(root,textvariable=data_string,fg="black",bg="white",bd=0,state="readonly")
ent.pack()
root.mainloop()
لا تنتمي إلى StackOverflow