托盘的显示和相关的操作
[Qt 自带例子](Examples\Qt-5.14.2\widgets\desktop\systray)
技术要点包括,设置图片,设置tooltip,右键菜单,关闭处理,系统消息处理
//创建QSystemTrayIcon
trayIcon = new QSystemTrayIcon(this);
//设置图片
trayIcon->setIcon(icon); //setWindowIcon(icon);
//设置tooltip
trayIcon->setToolTip(iconComboBox->itemText(index));
//设置右键菜单
trayIconMenu = new QMenu(this);
trayIcon->setContextMenu(trayIconMenu);
发送一个系统提示消息
int selectedIcon = typeComboBox->itemData(typeComboBox->currentIndex()).toInt();
QSystemTrayIcon::MessageIcon msgIcon = QSystemTrayIcon::MessageIcon(selectedIcon);
if (selectedIcon == -1) { // custom icon
QIcon icon(iconComboBox->itemIcon(iconComboBox->currentIndex()));
trayIcon->showMessage(titleEdit->text(), bodyEdit->toPlainText(), icon,
durationSpinBox->value() * 1000);
} else {
trayIcon->showMessage(titleEdit->text(), bodyEdit->toPlainText(), msgIcon,
durationSpinBox->value() * 1000);
}
信号处理
void activated(QSystemTrayIcon::ActivationReason reason)
void messageClicked()