1. 程式人生 > 其它 >QT設定MessageBox的大小

QT設定MessageBox的大小

一、過載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();//執行改變