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);
}
ミドルクリックでQWidget
withaを表示しています:QSlider
connect(trayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)),
this, SLOT(trayIconClicked(QSystemTrayIcon::ActivationReason)));
スロットの実装は次のとおりです。
void VolumeSlider::trayIconClicked(QSystemTrayIcon::ActivationReason reason)
{
if (reason == QSystemTrayIcon::MiddleClick) {
show();
}
}
ご清聴ありがとうございました!
よろしくお願いします!