提问人:Ali Tny 提问时间:7/10/2023 最后编辑:halferAli Tny 更新时间:7/11/2023 访问量:145
如何在 Python 的 customtkinter 的文本框中键入 RTL
How can I type RTL in textbox at customtkinter in Python
问:
这是一个错误的文本:
text = "سلام s4 خراب است"
真正的文本必须是:
text = "خراب است s4 سلام"
我在 Office Word 中写下了照片中的文字,这样是真的。RTL 必须与 LTR 混合使用。
答:
0赞
Alireza Roshanzamir
7/10/2023
#1
要启用对 Tkinter 和 CustomTkinter 的从右到左 (RTL) 支持,我建议使用 AwesomeTkinter 库。该库提供了许多功能,包括对 RTL 语言的双向支持。
下面是使用您提供的示例中的函数的示例:awesometkinter.bidirender.render_text
text
import customtkinter
from awesometkinter.bidirender import render_text
class App(customtkinter.CTk):
def __init__(self):
super().__init__()
self.grid_rowconfigure(0, weight=1)
self.grid_columnconfigure(0, weight=1)
self.textbox = customtkinter.CTkTextbox(master=self, width=400, font=('Tahoma', 20))
self.textbox.tag_config("right", justify=customtkinter.RIGHT)
self.textbox.grid(row=0, column=0, sticky="nsew")
self.textbox.insert("0.0", render_text("سلام s4 خراب است"), "right")
app = App()
app.mainloop()
这是我得到的结果:
评论
0赞
Ali Tny
7/11/2023
您好,AliReza先生,我在输入错误的文本框时遇到了问题,如果我们删除并再次写入错误,请给我这个问题的答案,谢谢
0赞
Alireza Roshanzamir
7/11/2023
@AliTny 您可以使用代替 ?AwesomeTkinter 库提供了对该函数的支持,该函数可以解决您提到的 and 小部件的问题。如果您能够切换到 ,我可以相应地增强我的答案。CTkEntry
CTkTextbox
add_bidi_support
Entry
Label
CTkEntry
评论