Qt在Windows中缺少应用程序的图标'底栏

时间:2017-02-07 14:32:27

标签: c++ qt user-interface

欢迎,我对Qt的Windows操作有疑问。我有一个简单的应用程序,其中包含2个窗口:

  1. MainWindow - 包括按钮,无法调整大小,
  2. AdminWindow - 包含标签,可以调整大小。
  3. 单击按钮时,应打开AdminWindow并隐藏MainWindow。我制作了应用程序,它似乎工作但是当我打开AdminWindow时,位于Windows底部栏中的应用程序图标丢失了。我该如何解决?

    打开MainWindow时会显示图标: enter image description here

    mainwindow.h

    #ifndef MAINWINDOW_H
    #define MAINWINDOW_H
    
    #include <QMainWindow>
    #include "adminwindow.h"
    
    namespace Ui {
    class MainWindow;
    }
    
    class MainWindow : public QMainWindow
    {
        Q_OBJECT
    
    public:
        explicit MainWindow(QWidget *parent = 0);
        ~MainWindow();
    
    private slots:
        void on_pushButtonOpenAdmin_clicked();
    
    private:
        Ui::MainWindow *ui;
        AdminWindow *adminWindow;
    };
    
    #endif // MAINWINDOW_H
    

    mainwindow.cpp

    #include "mainwindow.h"
    #include "ui_mainwindow.h"
    
    MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
    {
        ui->setupUi(this);
    }
    
    MainWindow::~MainWindow()
    {
        delete ui;
    }
    
    // hides MainWindow and show AdminWindow
    void MainWindow::on_pushButtonOpenAdmin_clicked()
    {
        hide();
        adminWindow = new AdminWindow(this);
        adminWindow->show();
    }
    

    adminwindow.h

    #ifndef ADMINWINDOW_H
    #define ADMINWINDOW_H
    
    #include <QMainWindow>
    
    namespace Ui {
    class AdminWindow;
    }
    
    class AdminWindow : public QMainWindow
    {
        Q_OBJECT
    
    public:
        explicit AdminWindow(QWidget *parent = 0);
        ~AdminWindow();
    
    private:
        Ui::AdminWindow *ui;
    };
    
    #endif // ADMINWINDOW_H
    

    adminwindow.cpp

    #include "adminwindow.h"
    #include "ui_adminwindow.h"
    
    AdminWindow::AdminWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::AdminWindow)
    {
        ui->setupUi(this);
    }
    
    AdminWindow::~AdminWindow()
    {
        delete ui;
    }
    

0 个答案:

没有答案