如何使用 python 3 和 tkinter 模块从右到左对齐菜单栏中的项目?

Posted

技术标签:

【中文标题】如何使用 python 3 和 tkinter 模块从右到左对齐菜单栏中的项目?【英文标题】:How can I align items in menu bar from right to left with using python 3 and tkinter module? 【发布时间】:2015-05-14 07:25:48 【问题描述】:

我正在使用 python 3 和 tkinter 模块来创建 GUI。我需要创建一个菜单栏并将其上的项目从右到左对齐(我想将它与波斯语一起使用,所以我需要从右到左对齐我的菜单项),现在我已经使用了这段代码,但它没有t 对齐文件并从右到左编辑项目,它们仍然在菜单栏中从左到右对齐。我该如何处理?

from tkinter import *
from tkinter import ttk

root = Tk()
root.title('Create Menu bar and items')
root.geometry('300x300+100+50')
root.option_add('*tearOff', False)
menubar = Menu(root)
root.config(menu = menubar)
file = Menu(menubar)
edit = Menu(menubar)
menubar.add_cascade(menu = file, label = 'فایل',compound = RIGHT)
menubar.add_cascade(menu = edit, label = 'ویرایش',compound = RIGHT)

【问题讨论】:

【参考方案1】:

使用一个简单的技巧,在 itens 之间创建一个空白菜单 ;-)

blankmenu = Menu(menubar, tearoff=0)
menubar.add_cascade(label="".ljust(130), menu=blankmenu)

【讨论】:

您认为有一种方法可以读取窗口宽度并将其输入为整数吗?例如(label="".ljust(int(window-width))【参考方案2】:

我不相信你可以为所欲为。我没有将 Tkinter 与从右到左的语言一起使用,所以我不能肯定地说,但你仅限于操作系统对菜单栏的支持。 Tkinter 让您无法控制项目在菜单栏上的位置,除了相对顺序。

【讨论】:

以上是关于如何使用 python 3 和 tkinter 模块从右到左对齐菜单栏中的项目?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 python 3.4 tkinter“索引错误:列表索引超出范围”中修复此错误

Python3 - tkinter 导入和使用模块

如何使用 tkinter/ttk 在 Python 3 中显示图像?

如何在 python 3.x tkinter 中保存文本框(字符串和整数)

如何使用 Python 3.8 中的按钮读取 Tkinter 中的条目

Tkinter 和 python3.5 的导入错误