0
我正在學習如何使用QtCreator在C++中外包文件。 爲什麼QSystrayIcon和註釋窗口僅在直接在主窗口中啓動時出現?如果我評論「2」並插入「1」以便調用「3」,則不會發生systrayIcon,只在很短的時間內出現窗口,但會立即銷燬。但爲什麼?我有一個名爲mainmenu的traymenu實例在主體中仍然存在,它如何被銷燬?創建對象的外包
main.cpp中:
#include "traymenu.h"
#include "note.h"
#include <QApplication>
#include <QSystemTrayIcon>
#include <QIcon>
#include <QPixmap>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
traymenu mainmenu; //1
// note w; //2
// w.show();
// QSystemTrayIcon tray;
// tray.setIcon(QIcon(QPixmap("C:\\testicon.png")));
// tray.setVisible(true);
return a.exec();
}
traymenu.cpp:
#include "traymenu.h"
#include "note.h"
#include <QSystemTrayIcon>
#include <QIcon>
#include <QPixmap>
traymenu::traymenu(QWidget *parent)
{
note w; //3
w.show();
QSystemTrayIcon tray;
tray.setIcon(QIcon(QPixmap("C:\\testicon.png")));
tray.setVisible(true);
tray.show();
}
traymenu::~traymenu()
{
}
note.cpp:
#include "note.h"
#include "ui_note.h"
note::note(QWidget *parent) :
QWidget(parent),
ui(new Ui::note)
{
ui->setupUi(this);
}
note::~note()
{
delete ui;
}
「托盤」相同 – RobbieE
但我該怎麼做?在相應的標題traymenu.h和note.h中,構造函數是公共的,爲什麼它們不是成員? – user2366975
至少我應該看到托盤圖標出現..我的mainmenu仍然存在,爲什麼它應該被銷燬,它被保存在主體中,不是嗎? – user2366975