16,203
社区成员
发帖
与我相关
我的任务
分享
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QWidget>
#include <QtGui/QWidget>
#include <QTimer>
#include <QGroupBox>
#include <QLabel>
class CToast : public QWidget
{
Q_OBJECT
public:
explicit CToast(const int timeMs=10000,const QString string="set success!",QWidget *parent = 0);
~CToast();
private slots:
void closewidget();
private:
QLabel *label;
QGroupBox *grpWidget;
QTimer *timer;
};
#include <QTimer>
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = 0);
~Widget();
private slots:
void timerouttest();
private:
QTimer *m_timer;
};
#endif // WIDGET_H
#include "widget.h"
#include <QHBoxLayout>
#include <QLabel>
#include <QDesktopWidget>
#include <QApplication>
#include <QMessageBox>
#include <QTimer>
#include <QGridLayout>
#include <QGraphicsColorizeEffect>
CToast::CToast(const int timeMs, const QString string, QWidget *parent)
: QWidget(parent)
{
setWindowFlags(Qt::FramelessWindowHint); //设置无windows标题
setFixedSize(80,40);
move(200,150);
timer=new QTimer;
connect(timer,SIGNAL(timeout()),this,SLOT(closewidget()));
timer->start(timeMs);
setStyleSheet("background-color: black;border-radius:15px");
label=new QLabel((string));
label->setStyleSheet("color:white");
QGridLayout *rowWin=new QGridLayout;
rowWin->setContentsMargins(5,5,5,5);
rowWin->addWidget(label,0,0);
setLayout(rowWin);
}
CToast::~CToast()
{
delete label;
delete grpWidget;
delete timer;
timer=NULL;
}
void CToast::closewidget()
{
timer->stop();
close();
delete this;
}
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
m_timer=new QTimer();
connect(m_timer,SIGNAL(timeout()),this,SLOT(timerouttest()));
m_timer->start(1000);
}
Widget::~Widget()
{
}
void Widget::timerouttest()
{
CToast *to1=new CToast(1000*1,"lajdsajs");
}