我正在尝试编写类似于 Dropbox 的上下文菜单:
我认为最好的方法是设置附加到 QSystemTrayIcon 的 QMenu 样式:
class canvas : public QMenu
{
Q_OBJECT
public:
canvas(QObject* parent = 0);
};
canvas::canvas(QObject* parent) : QMenu()
{
setStyleSheet("QMenu{background-color:#00ff00;}");
}
class tray_icon : public QSystemTrayIcon
{
Q_OBJECT
public:
tray_icon(canvas* a_canvas, QObject* parent = 0);
};
tray_icon::tray_icon(canvas* a_canvas, QObject* parent) : QSystemTrayIcon(parent)
{
setContextMenu(a_canvas);
}
但是由于某种原因,QMenu 对 setStyleSheet 调用没有反应,并且保持不变。
我有几个问题:
- 在这种情况下我做错了什么(为什么背景颜色没有设置为绿色)。
- QMenu 是构建这样的下拉菜单的正确工具吗(也许我应该使用其他一些小部件)。Dropbox 是如何制作这样一个菜单的?
谢谢!