我想在每一端创建一个带有图像的导航栏,以使其成为真实的.
所以,我在下面创建了HTML和CSS,效果很好.我的菜单项目在ul/li列表中.
当我设置列表样式以将项目全部放在一行上时,两端的图像消失.那是怎么回事?我如何解决它?
罪魁祸首是浮动:左; 下面.
--- test.html ---
<html>
<head>
<link rel="stylesheet" href="test.css" type="text/css">
</head>
<body>
<div id="container">
<div id="header-usernav" class="span-6 last large">
<div id="header-usernav-leftside"><div id="header-usernav-rightside">
<ul>
<li>Register</li>
<li>Signin</li>
<li>Signout</li>
</ul>
</div></div>
</div>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
--- test.CSS ---
#container #header-usernav {
background: url('http://www.webcredible.co.uk/i/bg-i-resources.gif');
height: 28px;
background-repeat: repeat;
}
#container #header-usernav-leftside {
background: url('http://www.webcredible.co.uk/i/nav-l-h.gif');
background-position: top left;
background-repeat: no-repeat;
}
#container #header-usernav-rightside {
background: url('http://www.webcredible.co.uk/i/nav-r-h.gif');
background-position: top right;
background-repeat: no-repeat;
}
#container #header-usernav ul {
list-style: none;
padding: 0;
margin: …Run Code Online (Sandbox Code Playgroud) 我试图将一个项添加到一个简单的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()方法手动交换菜单栏.
上面代码片段中的任何明显错误?
在开发菜单栏应用程序时,我很难找到使应用程序看起来很好的首选方法.我原本以为Apple控件基本上会在很大程度上处理这个问题,但看起来并非如此.
确保菜单栏应用程序在明暗模式下看起来都很好的首选方法是什么?我是否缺少一些可以更轻松地实现此功能的控制功能,还是需要手动检测模式并适当地修改控件?
我很擅长为Mac开发,我正在尝试编写一个Cocoa应用程序,它只存在于系统菜单栏中,并且不会出现在Dock中.Dropbox,Alfred和Quicksilver这样做(或者可以配置为执行此操作).谢谢.
我有一个使用 2.0 ce 框架在 win mobile 6.5 上运行的 winmo 应用程序:
在某些表单上,我使用菜单栏来显示自定义菜单项,如下所示

“更多”和“取消”按钮已连接事件,以便我实际上可以使表单按照我想要的方式运行。但问题是“确定”默认总是存在,只是关闭当前表单。我想完全删除它,使它看起来像这样
:
但从我迄今为止的研究来看,这是不可能的。我遇到过删除整个菜单栏(我仍然需要其他按钮)或禁用“确定”按钮(但即使有它也会让用户感到困惑)的解决方案
这可能吗?
在我的舞台上,我像往常一样为程序在顶部插入了一个菜单栏。我想在舞台的另一个上下文中给 ALT 键(连同箭头键)一些逻辑。但是每次我按 ALT 和箭头时,我也会无意中浏览菜单栏的菜单。
我想避免这种情况或更好地完全禁用这种助记符行为。将所有菜单的 mnemonicParsing 属性设置为 false 失败。我也尝试过这种方法但没有成功:
menubar.addEventFilter(KeyEvent.ANY, e -> e.consume());
Run Code Online (Sandbox Code Playgroud) 我正在快速编写一个应用程序,它位于屏幕顶部的菜单栏中。我需要一个全局和本地事件监视器来打开特定按键上的弹出窗口。本地事件监视器没有问题,但是当用户从 Finder 等应用程序内部点击键盘命令 (cmd+shift+8) 时,弹出窗口会打开,但也会播放 mac 错误“Funk”声音。有什么办法可以禁用它吗?也许应用程序可以通过某种方式吃掉声音,或者将其注册为有效的键盘快捷键以便永远不会播放声音?
这是代码:
NSEvent.addGlobalMonitorForEvents(matching: NSEventMask.keyDown, handler: {(event: NSEvent!) -> Void in
if (event.keyCode == 28 && event.modifierFlags.contains(NSEventModifierFlags.command) && event.modifierFlags.contains(NSEventModifierFlags.shift)){
self.togglePopover(sender: self)
}
});
NSEvent.addLocalMonitorForEvents(matching: NSEventMask.keyDown, handler: {(event: NSEvent!) -> NSEvent? in
if (event.keyCode == 28 && event.modifierFlags.contains(NSEventModifierFlags.command) && event.modifierFlags.contains(NSEventModifierFlags.shift)){
self.togglePopover(sender: self)
}
return event
});
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个macOS菜单栏应用程序,该应用程序将文本字段作为第一项。该文本字段将用作搜索栏,用于过滤将显示在其下方的其他项目。
它看起来应该与1password非常相似:

这是我设法做到的:

通过创建Status menu包含三个项目的菜单,并为菜单中的第一个项目创建自定义视图,我实现了这一点。
但是,这种方法似乎无法解决我的问题。当按下cmd + A在搜索领域,重点跳转到菜单中的下一个项目。这是的默认行为NSMenu。
所以,我的问题是:这是创建类似1Password的应用程序的正确方法还是有更好的方法?
当我尝试请求焦点(我在 macOS Mojave 10.14.2 上)时,当用户单击托盘图标菜单中的“显示”按钮时,它不会更改左上角的菜单栏(例如 Chrome -> java),但至少它把它带到了前面。在全屏应用程序中(例如,在全屏模式下单击 Sublime Text 中的托盘图标)时,它根本不会出现,而是显示在主桌面空间中,而不移动到它。
应该成为
但相反
当点击“显示”时...
好像什么也没发生!它会在不获得焦点或出现在顶部的情况下打开,而是出现在主“桌面”空间上。
toFront()我尝试过将其中之一进行组合,requestFocus()或者只进行其中一个,但似乎不起作用。
有人对这个问题有任何修复/解决方法吗?
这是上面用来演示该问题的简单应用程序:
package me.matetoes.dockvisibility;
import javafx.application.Application;
import javafx.application.Platform;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.net.URL;
public class DockVisibilityTester extends Application {
public javafx.scene.control.Button hideButton;
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
hideButton = new javafx.scene.control.Button("Hide");
hideButton.setOnAction(e -> handleHide());
Scene scene = new Scene(hideButton, …Run Code Online (Sandbox Code Playgroud) 我想为键盘布局创建一个基于图像和/或基于 PDF 的模板图标,当显示在菜单栏中时,该图标会根据 MacOS Mojave 中的暗/亮模式切换颜色。
我使用Ukelele创建了自定义键盘布局。我将其基于本机键盘布局,允许 Ukelele 从原始布局中提取图标。我没有碰那个图标。然而,当我切换到深色模式时,我的布局的图标仍然是黑色的,而在原始布局中,它会变成白色。
我做了一些研究。根据苹果公司的说法,要让图标自动适应暗/亮模式,听起来它必须是模板图像。(我猜 Ukelele 在从原始布局中提取图标时,以某种方式将基于模板图像的图标转换为非基于模板的图标。)
我猜测模板图像是只有 alpha 通道而没有颜色通道的 PNG 图像。
经过进一步研究,我发现Apple还指的是基于 PDF 的图标。不过,苹果并未透露任何细节。
我对模板图像是只有 alpha 通道而没有颜色通道的 PNG 图像的猜测是否正确?
我如何创建这样的图像?(我可以访问 Adobe CC、Affinity Photo and Designer、Pixelmator Pro 以及显然所有本机 MacOS 应用程序。)
什么是基于 PDF 的图标?在哪里可以找到有关该图标的详细信息以及如何创建它?具体来说,是否iconutil支持基于 PDF 的图标?
谢谢!