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 はどのようにしてこのようなメニューを作成したのですか?
ありがとうございました!