当您使用Python中的Tkinter创建带有GUI的应用程序时,应用程序的名称在OS X的菜单栏中显示为"Python".如何将其显示为其他内容?
我已经建立了一段时间的大型python程序,想知道如何设置程序的标题?在Mac上,具有焦点的程序标题显示在屏幕的左上角,然后是苹果菜单.目前这只显示"Python"这个词,但我当然喜欢那里的程序标题.
我只是想知道如何获得苹果菜单栏的高度,以像素为单位(总是在顶部)
(我的屏幕尺寸是1200 x 800)我想知道除了菜单栏会是什么.
我有一个菜单栏,子菜单上有两个项目,两个都调用同一页面:
<p:menubar autoSubmenuDisplay="true">
<p:submenu label="Perfil">
<p:menuitem value="Editar" url="perfil.xhtml" />
<p:menuitem value="Ver" url="perfil.xhtml" />
</p:submenu>
</p:menubar>
Run Code Online (Sandbox Code Playgroud)
在那个页面中,我有一个带有两个标签的tabview:
<p:tabView dynamic="true">
<p:tab id="ver" title="Ver perfil">
<ui:include src="verPerfil.xhtml" />
</p:tab>
<p:tab id="editar" title="Editar perfil">
<ui:include src="editarPerfil.xhtml" />
</p:tab>
</p:tabView>
Run Code Online (Sandbox Code Playgroud)
如何设置活动选项卡,以便每个菜单项激活相应的选项卡?
是否可以使用tkinter更改菜单中项目的标签?
在下面的示例中,我想将其从"示例项"(在"文件"菜单中)更改为其他值.
from tkinter import *
root = Tk()
menu_bar = Menu(root)
file_menu = Menu(menu_bar, tearoff=False)
file_menu.add_command(label="An example item", command=lambda: print('clicked!'))
menu_bar.add_cascade(label="File", menu=file_menu)
root.config(menu=menu_bar)
root.mainloop()
Run Code Online (Sandbox Code Playgroud) 我有一个状态栏应用程序,它在菜单栏中运行.因此,我设置Application is agent (UIElement)到true的info.plst.这导致我的应用程序没有停靠图标和菜单栏.
但是,我还有一个用户可以从状态栏菜单打开的首选项窗口.这是我打开它的方式:
if (!NSApp.setActivationPolicy(.regular)) {
print("unable to set regular activation policy")
}
NSApp.activate(ignoringOtherApps: true)
if let window = preferencesWindowController.window {
window.makeKeyAndOrderFront(nil)
}
Run Code Online (Sandbox Code Playgroud)
该窗口按预期显示,但应用程序的主菜单栏包含文件,编辑等,但未显示.只有当我点击另一个应用程序并返回我的应用程序时,才会显示菜单栏.
我注意到,如果我更改info.plstto中的值false并使用NSApp.setActivationPolicy(.accessory)in applicationDidFinishLaunching(),则它具有相同的结果.但是,如果我在调用NSApp.setActivationPolicy(.accessory)后几毫秒调用一个计时器applicationDidFinishLaunching(),它就可以工作,并且主菜单正在按预期显示.然而,这有副作用,即应用程序图标在停靠栏中弹出几秒钟(直到计时器被触发),这不是一个很好的用户体验.
有谁知道我还能尝试什么?切换活动应用时发生了什么,我在代码中没做什么?
我在macOS 10.12.2(16C67)上使用版本8.2.1(8C1002)
谢谢!
我正在一个网站上工作,每个页面都有按钮,如"提交"和"取消".每个按钮都有一个accesskey属性.提交按钮的accesskey属性设置为S,取消按钮的accesskey属性设置为C.
使用不同浏览器中的不同修饰符激活访问键.Internet Explorer,Safari和Google Chrome仅使用alt,而Firefox则同时使用alt和shift键.同样,Firefox使用alt+ s打开历史记录菜单.
此问题的答案不应建议更改浏览器配置中的设置,因为这在生产站点上是不可行的.
我如何将Firefox用于修改的修改键accesskey改为公正alt,并阻止历史菜单打开?
我在Ubuntu 16.04工作.
我正在使用菜单栏应用程序,我正在使用NSMenuItem's view属性设置自定义视图.
视图显示正常,但我无法接收具有打开子菜单的菜单项的任何类型的鼠标单击事件.
在此屏幕截图中,我为每个项目添加了一个按钮.3个最右边的按钮功能正常,但父菜单中的按钮根本不会收到任何点击事件.
我尝试了很多东西,包括:
mouseUp和mouseDown方法捕获鼠标事件NSWindow当鼠标进入该视图时,为自定义视图键设置NSEvents......但无济于事
即使没有添加按钮的方法,我也无法复制标准的默认行为NSMenuItem,因为如果它具有自定义视图target-action,NSMenuItem则不会调用它的回调.(我自己无法收到任何点击事件)
理论上这应该是可能的,因为我能够使用默认选项NSMenuItem(没有自定义视图)选择具有打开子菜单的菜单.
有人能帮忙吗?
谢谢
大家好,我开始学习 SwiftUI 和 macOS 开发。我正在使用 SwiftUI 生命周期。如何从菜单栏的聚焦窗口调用函数。
除了 Apple 文档之外,我还找到了此参考,并且能够使用命令创建菜单项,但我不知道如何从我的角度调用函数。
例如:
假设这是我的应用程序结构:
import SwiftUI
@main
struct ExampleApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}.commands {
CommandMenu("First menu") {
Button("Action!") {
// How do I call the views action function?
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的观点:
struct ContentView: View {
public func action() {
print("It works")
}
var body: some View {
Text("Example")
}
}
Run Code Online (Sandbox Code Playgroud)
我刚刚输入了示例代码,如果有任何拼写错误,抱歉,但我希望您能明白。
我正在尝试使用新的 MenuBarExtra 在 Swift UI 中创建一个简单的额外菜单栏。我希望弹出窗口中的按钮文本在每次打开菜单时动态更新。
我正在像这样创建 MenuBarExtra 。
MenuBarExtra("Example menu title") {
Button("Item 1") {
}
Button("Item 2") {
}
Button("Item 3") {
}
}
Run Code Online (Sandbox Code Playgroud)
我希望每次打开菜单时按钮文本(即第 1 项)都会更改。我本来希望 onAppear 每次打开菜单时都会触发,但它只在第一次时触发。首次打开弹出窗口后,没有明确的方法来检测菜单关闭或打开事件。
我尝试使用各种事件处理回调来检测弹出窗口的打开。OnAppear 用于检测视图的初始创建,而 onDisappear 则从未被调用。
MenuBarExtra("Example menu title") {
VStack {
Button("Item 1") {
}
Button("Item 2") {
}
Button("Item 3") {
}
}.onAppear() {
print("This only prints the very first time the menu is opened")
}
}
Run Code Online (Sandbox Code Playgroud) menubar ×10
macos ×6
python ×3
swift ×3
cocoa ×2
swiftui ×2
tkinter ×2
firefox ×1
html ×1
java ×1
javascript ×1
nsmenu ×1
nsmenuitem ×1
osx-leopard ×1
primefaces ×1
python-3.x ×1
tabview ×1
title ×1