Qt 使QSlider在QSystemTrayIcon中工作
我正试图在Ubuntu 13.04中创建一个亮度控制应用程序。其想法是制作一个托盘图标和滑块,当按下图标时会出现。问题是托盘菜单只包含一个空项。这是一段代码,可以正常工作,但不能正常工作(只有在按下空菜单项时才会显示滑块):Qt 使QSlider在QSystemTrayIcon中工作,qt,tray,qslider,Qt,Tray,Qslider,我正试图在Ubuntu 13.04中创建一个亮度控制应用程序。其想法是制作一个托盘图标和滑块,当按下图标时会出现。问题是托盘菜单只包含一个空项。这是一段代码,可以正常工作,但不能正常工作(只有在按下空菜单项时才会显示滑块): 怎么了?你的问题很容易解决。首先,您不需要为菜单项添加操作来触发QSlider的显示/隐藏。您只需为整个托盘图标添加触发器和插槽 connect(tray, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), th
怎么了?你的问题很容易解决。首先,您不需要为菜单项添加操作来触发QSlider的显示/隐藏。您只需为整个托盘图标添加触发器和插槽
connect(tray, SIGNAL(activated(QSystemTrayIcon::ActivationReason)),
this, SLOT(trayIconClicked(QSystemTrayIcon::ActivationReason)));
而不仅仅是添加插槽:
void VolumeQWindow::trayIconClicked(QSystemTrayIcon::ActivationReason reason)
{
if (reason == QSystemTrayIcon::Trigger)
{
show();
}
}
就这样
void VolumeQWindow::trayIconClicked(QSystemTrayIcon::ActivationReason reason)
{
if (reason == QSystemTrayIcon::Trigger)
{
show();
}
}