我正在编写一个Tkinter程序,到目前为止,它创建了一个带有菜单栏、文件菜单和单个项目的窗口.成功创建了菜单,但有两个项目,第一个是我没有指定的项目,其名称是"—".

如果我不添加一个项目,自发的项目仍然会添加.如果我指定tearoff = 0,这仍然会发生.

你知道为什么会这样吗?

Windows 11、Python 3.12.2、Tkinter和Tcl 8.6.

import tkinter as tk

window = tk.Tk()
window.geometry("800x600")

menubar = tk.Menu(window)
window.config(menu=menubar)

fileMenu = tk.Menu(menubar)
fileMenu.add_command(
    label="Exit",
    command=window.destroy,
)
menubar.add_cascade(label="File", menu=fileMenu, underline=0)

window.mainloop()

推荐答案

这样就行了.我想你把tearoff=0 menubar而不是fileMenu如果你把你的tearoff=0放在menubar它不会影响fileMenu.所以,你需要在特定的tk.Menu()中特别地放tearoff=0

import tkinter as tk

window = tk.Tk()
window.geometry("800x600")

menubar = tk.Menu(window)
window.config(menu=menubar)

fileMenu = tk.Menu(menubar,tearoff=0)
fileMenu.add_command(
    label="Exit",
    command=window.destroy,
)
menubar.add_cascade(label="File", menu=fileMenu, underline=0)

window.mainloop()

Python相关问答推荐

未删除映射表的行

图像 pyramid .难以创建所需的合成图像

Python库:可选地支持numpy类型,而不依赖于numpy

计算组中唯一值的数量

Python虚拟环境的轻量级使用

"使用odbc_connect(raw)连接字符串登录失败;可用于pyodbc"

如何在Python脚本中附加一个Google tab(已经打开)

如何将一个动态分配的C数组转换为Numpy数组,并在C扩展模块中返回给Python

Streamlit应用程序中的Plotly条形图中未正确显示Y轴刻度

如果条件不满足,我如何获得掩码的第一个索引并获得None?

从一个系列创建一个Dataframe,特别是如何重命名其中的列(例如:使用NAs/NaN)

如何从数据库上传数据到html?

Scrapy和Great Expectations(great_expectations)—不合作

如何在turtle中不使用write()来绘制填充字母(例如OEG)

Python导入某些库时非法指令(核心转储)(beautifulsoup4."" yfinance)

在不同的帧B中判断帧A中的子字符串,每个帧的大小不同

Python日志(log)模块如何在将消息发送到父日志(log)记录器之前向消息添加类实例变量

如何在一组行中找到循环?

Pandas 数据帧中的枚举,不能在枚举列上执行GROUP BY吗?

提取最内层嵌套链接