首页 > 代码库 > QApplication::alert 如果窗口不是活动窗口,则会向窗口显示一个警告(非常好用,效果就和TeamViewer一样)

QApplication::alert 如果窗口不是活动窗口,则会向窗口显示一个警告(非常好用,效果就和TeamViewer一样)

void QApplication::alert(QWidget * widget, int msec = 0)
如果窗口不是活动窗口,则会向窗口显示一个警告。警报会显示msec 毫秒。
如果毫秒为零,闪烁一段时间后会停止,任务栏图标会一直亮着。

widget.h

  1. #ifndef WIDGET_H
  2. #define WIDGET_H
  3. #include <QWidget>
  4. #include <QTimer>
  5. #include <QTime>
  6. namespace Ui {
  7. class Widget;
  8. }
  9. class Widget : public QWidget
  10. {
  11.     Q_OBJECT
  12. public:
  13.     explicit Widget(QWidget *parent = 0);
  14.     ~Widget();
  15.     void setms(int m);
  16. public slots:
  17.         void start();
  18. private:
  19.     Ui::Widget *ui;
  20.     int ms;
  21.     QTimer *timer;
  22. };
  23. #endif // WIDGET_H

widget.cpp

  1. #include "widget.h"
  2. #include "ui_widget.h"
  3. Widget::Widget(QWidget *parent) :
  4.     QWidget(parent),
  5.     ui(new Ui::Widget)
  6. {
  7.     ui->setupUi(this);
  8.     timer = new QTimer();
  9.     timer->setInterval(1000);
  10.     timer->start();
  11.      connect(timer, SIGNAL(timeout()), this, SLOT(start()));
  12. }
  13. Widget::~Widget()
  14. {
  15.     delete ui;
  16. }
  17. void Widget::start()
  18. {
  19.      QApplication::alert(this, ms);
  20. }
  21. void Widget::setms(int m)
  22. {
  23.     ms=m;
  24. }

main.cpp

    1. #include "widget.h"
    2. #include <QApplication>
    3. int main(int argc, char *argv[])
    4. {
    5.     QApplication a(argc, argv);
    6.     Widget w;
    7.     w.setms(1000);
    8.     w.show();
    9.     return a.exec();
    10. }

 

http://blog.chinaunix.net/uid-29994589-id-5207150.html

QApplication::alert 如果窗口不是活动窗口,则会向窗口显示一个警告(非常好用,效果就和TeamViewer一样)