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

1

你可以考虑QSystemTrayIcon类:

http://doc.qt.io/qt-5/qsystemtrayicon.html

这个例子:

http://doc.qt.io/qt-4.8/qt-desktop-systray-example.html

于 2013-10-09T00:28:36.087 回答