Добрый день!
Столкнулся с проблемой, при компиляции в режиме Release сцена в QGraphicsView отображается некорректно, вместо кнопок на белом фоне, отображается кусок белого фона. А в Debug режиме все нормально работает. Кто знает в чем может быть проблема?
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QTextCodec *codec = QTextCodec::codecForName("CP1251");
QTextCodec::setCodecForTr(codec);
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForLocale(codec);
menu = new MainMenu(this);
ui->graphicsView->setScene(menu);
ui->graphicsView->setViewport(new QGLWidget(QGLFormat(QGL::SampleBuffers)));
ui->graphicsView->setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform);
ui->graphicsView->installEventFilter(this);
}
#include <QGraphicsScene>
#include <QGraphicsProxyWidget>
#include <QPushButton>
class MainMenu : public QGraphicsScene
{
Q_OBJECT
public:
explicit MainMenu(QObject *parent = 0);
signals:
public slots:
private:
QGraphicsProxyWidget *proxy;
QPushButton *propertyButton;
QPushButton *helpButton;
QPushButton *quitButton;
};
MainMenu::MainMenu(QObject *parent) :
QGraphicsScene(parent)
{
propertyButton = new QPushButton(tr("Настройки"), 0);
helpButton = new QPushButton(tr("Помощь"), 0);
quitButton = new QPushButton(tr("Выход"), 0);
proxy = addWidget(propertyButton);
QTransform transform = proxy->transform();
transform.translate(0. ,-30.);
proxy->setTransform(transform);
proxy = addWidget(helpButton);
proxy = addWidget(quitButton);
transform = proxy->transform();
transform.translate(0. ,30.);
proxy->setTransform(transform);
}