大家好,感谢您花时间浏览本贴。
我是Qt菜菜鸟,想实现一个把Dialog最小化的托盘的功能,Qt demo我也看了
在SetIcon的时候总是报错,求牛人指教
以下是代码
#ifndef LOGIN_H
#define LOGIN_H
#include <QtGui>
#include <QDialog>
#include "qtClass.h"
#include "loginLib.h"
#include "ngFolderUpdate.h"
#include "MsgDefine.h"
#include <QSystemTrayIcon>
QT_BEGIN_NAMESPACE
//class QAction;
//class QCheckBox;
//class
QComboBox;
//class QGroupBox;
//class QLabel;
//class QLineEdit;
//class QMenu;
//class QPushButton;
//class QSpinBox;
//class QTextEdit;
class LOGIN ;
QT_END_NAMESPACE
namespace Ui
{class LOGIN;}
class LOGIN : public QDialog
{
Q_OBJECT
public:
explicit LOGIN(QWidget *parent = 0);
~LOGIN();
private slots:
void getLogin();
void getRegister();
void getRec(Rec *rec);
//void setIcon(int index);
protected:
void changeEvent(QEvent *e);
//void closeEvent(QCloseEvent *event);
private:
Ui::LOGIN *ui;
QString m_UserName;
QString m_PassWord;
UserLogin m_Login;
bool NeedFirstUpdate();
bool Check();
//void createIconGroupBox();
//QGroupBox *iconGroupBox;
//QComboBox *iconComboBox;
//QLabel *iconLabel;
//QCheckBox *showIconCheckBox;
QSystemTrayIcon * trayIcon;
};
#endif // LOGIN_H
void LOGIN::changeEvent(QEvent *e)
{
QDialog::changeEvent(e);
switch (e->type()) {
case QEvent::LanguageChange:
ui->retranslateUi(this);
break;
case QEvent::WindowStateChange:
if (isMinimized())
{
trayIcon->setIcon(QIcon(":/images/up16.png"));
hide();
trayIcon->show();
e->ignore();
}
break;
default:
break;
}
}
[ 此帖被realerge在2010-07-08 22:10重新编辑 ]