QT設定MessageBox的大小
阿新 • • 發佈:2021-08-12
一、過載resizeEvent
1、新增mymessagebox.cpp檔案
#include "mymessagebox.h" MyMessageBox::MyMessageBox(QWidget *parent) : QMessageBox(parent), _width(0), _height(0) { } void MyMessageBox::setMySize(int width, int height) { _width = width; _height = height; } void MyMessageBox::resizeEvent(QResizeEvent *event) { setFixedSize(_width, _height); }
2、新增mymessagebox.h檔案
#ifndef MYMESSAGEBOX_H #define MYMESSAGEBOX_H #include <QWidget> #include <QMessageBox> #include <QResizeEvent> class MyMessageBox : public QMessageBox { Q_OBJECT public: explicit MyMessageBox(QWidget *parent = 0); void setMySize(int width, int height); signals: public slots: protected: void resizeEvent(QResizeEvent *event); private: int _width; int _height; }; #endif // MYMESSAGEBOX_H
3、在需要彈出MessageBox的地方新增程式碼
MyMessageBox msgBox; msgBox.setMySize(640,480);//設定MessageBox的大小 msgBox.setStyleSheet("background-image:url(:/new/two/two_1.jpeg)");//顯示圖片 msgBox.exec();//執行改變