[qt-4.2.0 Linux]
я вот использую qInstallMsgHandler
#include <QApplication>
#include <QWidget>
#include <QTextCodec>
#include "mainwindow.h"
void myMessageOutput(QtMsgType type, const char *msg)
{
// в этом методе вызываем окно с ошибкой
}
int main(int argc, char *argv[])
{
qInstallMsgHandler(myMessageOutput);
QApplication app(argc, argv);
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
MainWindow window;
window.resize(800, 600);
window.clearFocus();
window.setWindowFlags(Qt::Window | Qt::X11BypassWindowManagerHint);
window.showFullScreen();
return app.exec();
}
только соответственно по ошибке будет окно выскакивать и затемнятся (осветляться) задний план (виджет window в моем случае) таким методом (спасибо Dendy)
QPixmap px = QPixmap::grabWidget( very_main_window );
QPainter p( &px );
p.setBrush( QColor( 255, 255, 255, 127 ) ); // highligh a bit
p.setPen( Qt::NoPen );
p.drawRect( px.rect() );
p.end();
... только как знать что грабить в QPixmap::grabWidget .... ? как в моем коде передать в обработчик ошибки что нужно грабить MainWindow window и его затемнять ?