0

Qtにある種のボリュームスライダーを実装しようとしています。を追加しQWidgetましQSliderた。それは私にとってはうまくいきます...しかし!QWidget画面中央に表示されます。しかし、トレイアイコンの上に必要です。

誰もそれを行う方法を知っていますか?

コード:

VolumeSlider::VolumSlider(QWidget *parent) : QWidget(parent)
{
    setWindowFlags(Qt::Popup);
    resize(20, 150);

    slider = new QSlider(Qt::Vertical, this);
    slider->setRange(0, 100);
    slider->setSingleStep(5);
    slider->setPageStep(10);
    slider->setValue(currentVolume);
    slider->resize(20, 150);
}

ミドルクリックでQWidgetwithaを表示しています:QSlider

connect(trayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)),
  this, SLOT(trayIconClicked(QSystemTrayIcon::ActivationReason)));

スロットの実装は次のとおりです。

void VolumeSlider::trayIconClicked(QSystemTrayIcon::ActivationReason reason)
{
    if (reason == QSystemTrayIcon::MiddleClick) {
        show();
    }
}

ご清聴ありがとうございました!

よろしくお願いします!

4

1 に答える 1