标签: menubar

Java:如何将JMenu添加到JPanel或创建下拉按钮?

有没有办法将JMenuItem添加到JPanel,以便我可以创建一个按钮来显示多个选项,如地址栏下的firefox中的最新新闻按钮?

我只能将JMenu和JMenuItems添加到JMenuBar,JPopupMenu和其他JMenus和JMenuitems

有没有办法在Java Swing中创建一个下拉式Jbutton?(左侧带有向下箭头的那些向用户显示更多选项)

提前致谢

java swing menubar menuitem drop-down-menu

6
推荐指数
1
解决办法
7247
查看次数

PyQt MenuBar Mac OSX Snow Leopard

我试图将一个项添加到一个简单的PyQt示例的应用程序菜单栏.但是,以下代码似乎根本不会改变菜单栏.菜单中唯一的项目是"Python".下面是大部分代码,减去导入和实例化.

class MainWindow(QtGui.QMainWindow):
    def __init__(self):
        QtGui.QMainWindow.__init__(self)

        self.resize(250, 150)
        self.setWindowTitle('menubar')
        self.modal = False

        exit = QtGui.QAction( QtGui.QIcon('images/app_icon.png'), 'Exit', self )
        exit.setShortcut('Ctrl+Q')
        exit.setStatusTip('Exit application')
        self.connect(exit, QtCore.SIGNAL('triggered()'), QtCore.SLOT('close()'))

        menubar = self.menuBar()
        file = menubar.addMenu('File')
        file.addAction(exit)
Run Code Online (Sandbox Code Playgroud)

我也尝试创建一个新的QMenuBar并使用该setMenuBar()方法手动交换菜单栏.

上面代码片段中的任何明显错误?

python macos pyqt menubar osx-snow-leopard

6
推荐指数
3
解决办法
6409
查看次数

MenuBar在MAC OS LION上发布QT 4.7.4

我是QT编程的新手.我想创建一个简单的菜单栏,其中包含两个菜单和几个操作(FILE菜单有3个操作,VIEW菜单有一个操作).我有createMenus()方法,我创建那些菜单和操作然后我将创建的菜单添加到菜单栏,但是当我运行应用程序时,它没有显示这个菜单栏,我不知道为什么.谁能说出问题是什么?

MainWindow.cpp的源代码

#include <QtGui>
#include <QAction>
#include "MainWindow.h"

MainWindow::MainWindow() {

        // Creeam fereastra principala
    QWidget *window = new QWidget;
    setCentralWidget(window);

    // Creeam eticheta unde vom afisa titlul item-ului selectat
    // Implicit va avea un titlu predefinit
   infoLabel = new QLabel("Selectati un item va rog ");

    createActions();
    createMenus();

    // Creeam un layout pentru pozitionarea etichetei
    QHBoxLayout *layout = new QHBoxLayout;

    layout->addWidget(infoLabel);
    window->setLayout(layout);

    setWindowTitle("GUI");
    setMinimumSize(300, 300);
    resize(480,320);
}

void MainWindow::contextMenuEvent(QContextMenuEvent *event) {

    QMenu menu(this);
    menu.addAction(newAction);
    menu.addAction(openAction);
    menu.addAction(closeAction);
    menu.addAction(preferencesAction);
    menu.exec(event->globalPos());
}

void MainWindow::new_() …
Run Code Online (Sandbox Code Playgroud)

qt4 menubar qt-creator

6
推荐指数
1
解决办法
1904
查看次数

Objective-C:从外部应用程序获取菜单信息

我正在尝试编写一个Mac OS菜单额外的应用程序,当用户按下某个热键时,该应用程序显示包含当前活动应用程序菜单栏项的上下文菜单.显示上下文菜单我可以做得很好,但我似乎无法获得当前活动的应用程序的菜单栏项.目前我正在使用[[[NSWorkspace sharedWorkspace] runningApplications] filteredArrayUsingPredicate:]获取活动应用程序的名称,但NSRunningApplication似乎包含了很少的其他信息.有什么方法可以从外部应用程序获取有关应用程序菜单的信息吗?

更新:

使用ScriptingBridge框架似乎工作得相当好,如果你很高兴使用AppleScript:

    SystemEventsApplication* sevApp = [SBApplication applicationWithBundleIdentifier:@"com.apple.systemevents"];
    SystemEventsProcess* proc = [[sevApp applicationProcesses] objectWithName:appName];

    for (SystemEventsMenuBar* menuBar in proc.menuBars) {
        for (SystemEventsMenuBarItem* menuBaritem in menuBar.menuBarItems) {
            NSLog(@"%@", menuBaritem.name);
        }
    }
Run Code Online (Sandbox Code Playgroud)

将打印出应用程序菜单栏中提供的菜单列表.还没有找到获取上下文菜单的方法,所以我暂不会回答这个问题...

这也很有用:http://robnapier.net/blog/scripting-bridge-265

macos cocoa objective-c menubar scripting-bridge

6
推荐指数
1
解决办法
896
查看次数

菜单栏应用程序永远不会重新激活

我正在构建一个Mac应用程序,它只位于菜单栏中,没有停靠项,没有关键窗口,也没有主菜单(它LSUIElement位于info.plist中YES).当我第一次启动应用程序时applicationDidBecomeActive:,就像我预期的那样被调用.然而,一旦另一个应用程序获得焦点,applicationDidBecomeActive:永远不会再次调用.

这可以防止我的应用程序中的文本字段成为第一个响应者.当我第一次打开应用程序时,文本字段是可编辑的:

在另一个应用获得焦点之前

但是在另一个应用程序到达前台后,文本字段不可编辑:

在另一个应用获得焦点后

我尝试过的:

打开菜单时,menuWillOpen:会在代理上调用NSMenu.我试过放下以下内容但没有成功:

[NSApp unhide];
[NSApp arrangeInFront:self];
[NSApp activateIgnoringOtherApps:YES];
[NSApp requestUserAttention:NSCriticalRequest];
[[NSRunningApplication currentApplication] activateWithOptions:NSApplicationActivateIgnoringOtherApps];
[[NSRunningApplication currentApplication] unhide];
Run Code Online (Sandbox Code Playgroud)

我认为问题可能与没有任何窗户带到前面有关.我觉得我在这里抓住稻草.任何帮助将不胜感激.

macos objective-c menubar appkit

6
推荐指数
1
解决办法
872
查看次数

如何使Menu.add_command()在Mac上的tkinter中工作?

如果我在OS X上创建一个tkinter菜单并尝试向其添加菜单按钮,则菜单中add_comand()不会显示任何内容.

如果下面的代码在Ubuntu上运行,我会得到一个带有两个标记为"红色"和"蓝色"的命令的菜单栏,它们会改变窗口的背景颜色.

在OS X 10.10.1(Yosemite)上,按钮不会出现.我知道我可以使用红色和蓝色命令制作一个下拉菜单,但在我的真实应用程序中,我宁愿不这样做.

from platform import python_version_tuple

major = python_version_tuple()[0]

if major == '3':
    import tkinter as tk
else:
    import Tkinter as tk

root = tk.Tk()

fr = tk.Frame(root, height = 200, width = 200)
fr.pack()
menu = tk.Menu(root)
root.configure(menu=menu)
menu.add_command(label='Red', command=lambda:fr.configure(bg='red'))
menu.add_command(label='Blue', command=lambda:fr.configure(bg='blue'))

root.mainloop()
Run Code Online (Sandbox Code Playgroud)

你能告诉我怎么做我想要的吗?

python macos menu tkinter menubar

6
推荐指数
1
解决办法
1892
查看次数

如何在Yosemite中使用"暗模式"使菜单栏应用程序看起来很好?

在开发菜单栏应用程序时,我很难找到使应用程序看起来很好的首选方法.我原本以为Apple控件基本上会在很大程度上处理这个问题,但看起来并非如此.

确保菜单栏应用程序在明暗模式下看起来都很好的首选方法是什么?我是否缺少一些可以更轻松地实现此功能的控制功能,还是需要手动检测模式并适当地修改控件?

cocoa menubar rubymotion osx-yosemite osx-elcapitan

6
推荐指数
1
解决办法
1828
查看次数

Applescript 单击状态栏应用程序的菜单项

我有一个名为 Fen\xc3\xaatre 的应用程序,当使用命令查看进程名称时,top它给出了名称Fene?~Btre H

\n\n

我想单击其菜单栏项下名为“a.py”的项目,如图所示。

\n\n

在此输入图像描述\n在此输入图像描述

\n\n

我的尝试:

\n\n

尝试1

\n\n
tell application "System Events" to tell process "Fen\xc3\xaatre"\n    tell menu bar item 1 of menu bar 1\n        click\n        click menu item "Show all" of menu 1\n    end tell\nend tell\n
Run Code Online (Sandbox Code Playgroud)\n\n

错误:

\n\n
$ osascript a.applescript \na.applescript:121:157: execution error: System Events got an error: Can\xe2\x80\x99t get menu item "Show all" of menu 1 of menu bar item 1 of menu bar 1 of process …
Run Code Online (Sandbox Code Playgroud)

macos applescript menubar

6
推荐指数
1
解决办法
3744
查看次数

如何使用 Qt 自定义 AppMenu

我正在为 macOS 开发 Qt 应用程序。

如何将项目添加到menuApp?我指的是出现在苹果图标右侧菜单栏上的条目。

我怎样才能在 Qt 中实现这一点?

我正在使用 Qt 5.9。Qt 小部件。

menuApp是 Apple 在每个应用程序中默认放置的菜单。在所附的图像中,它对应于一个显示“Finder”的菜单条目:

在此输入图像描述

macos qt menubar qt5

6
推荐指数
1
解决办法
786
查看次数

MacOS SwiftUI 菜单栏应用程序设置在后台打开

我正在使用 SwiftUI 的新 API 构建 macOS 菜单栏应用程序MenuBarExtra,但遇到了一些奇怪的问题。

我已经实现了一个设置窗口,可以通过以下调用打开该窗口:

if #available(macOS 13, *) {
    NSApp.sendAction(Selector(("showSettingsWindow:")), to: nil, from: nil)
} else {
    NSApp.sendAction(Selector(("showPreferencesWindow:")), to: nil, from: nil)
}
Run Code Online (Sandbox Code Playgroud)

我还将该Application is agent标志设置为YESin info 我的项目属性。

不幸的是,每当我通过菜单栏打开设置窗口时,它都会在后台打开并且根本不可见。我真的不知道如何从这里继续。我考虑过以下几点:

  • 以编程方式改变焦点(似乎不存在)
  • 打开一个单独的窗口(由于代理设置,这似乎不起作用)

有没有人遇到过这个问题并实施了解决方案?

macos menubar swiftui

6
推荐指数
1
解决办法
1055
查看次数