我正在开发一个Tkinter应用程序,我需要支持波斯语/波斯语。标题显示正确,但其余的小部件不显示预期的波斯语文本。我希望文本是从右到左(RTL),波斯语字母应该互相粘在一起。
下面是我的代码的简化版本:
import tkinter as tk
from tkinter import messagebox
class InvoiceApp:
def __init__(self, master):
self.master = master
self.master.title("نرمافزار صورتحساب")
# لیست محصولات
self.products = []
# ایجاد ویجتها
self.product_label = tk.Label(master, text='نام محصول:', justify='right')
self.product_entry = tk.Entry(master)
self.price_label = tk.Label(master, text="قیمت:")
self.price_entry = tk.Entry(master)
self.add_button = tk.Button(master, text="افزودن به صورتحساب", command=self.add_to_invoice, justify='right')
self.create_invoice_button = tk.Button(master, text="ساخت صورتحساب", command=self.create_invoice)
self.send_email_button = tk.Button(master, text="ارسال ایمیل", command=self.send_email)
def add_to_invoice(self):
# افزودن محصول به لیست
pass
def create_invoice(self):
# ساخت صورتحساب
pass
def send_email(self):
# ارسال ایمیل
pass
if __name__ == "__main__":
root = tk.Tk()
app = InvoiceApp(root)
root.mainloop()
字符串
x1c 0d1x我已经尝试设置字体和锚属性,但它似乎不像预期的那样工作。有人能指导我如何配置Tkinter小部件,以正确显示波斯语文本,从右到左,字母粘在一起?
任何帮助将不胜感激!谢谢。
1条答案
按热度按时间sy5wg1nm1#
我希望文本是从右到左(RTL),波斯文字母应该坚持彼此。
问题可以修复。
您缺少布局管理器,例如
place()
、pack()
或grid()
。所以,我使用了
grid()
。为两个Entry小工具添加关键字
justify='right'
。顺便说一句,你还没有提到
Text
小部件。实际上,我把它留给你。片段:
字符串
截图:
的数据