16,216
社区成员
发帖
与我相关
我的任务
分享
QApplication a(argc, argv);
QGraphicsView view();
view.setWindowFlags(Qt::FramelessWindowHint);
view.setCacheMode(QGraphicsView::CacheBackground);
view.resize(320, 240);
OpenGLScene scene(320, 240);
view.setScene(&scene);
view.setStyleSheet("padding:0px;border:0px");
view.show();
return a.exec();
mainwindow.h:
class MainWindow :
public QWidget
{
Q_OBJECT
class Ui_MainWindow
{
public:
void setupUi(QWidget *mainWindow)
{
QSize screenSize(320, 240);
QPalette p;
p.setColor(QPalette::Background, QColor(Qt::black));
if (mainWindow->objectName().isEmpty())
mainWindow->setObjectName(QString::fromUtf8("MainWindow"));
mainWindow->resize(screenSize);
mainWindow->setPalette(p);
}
};
public:
explicit MainWindow(QWidget *parent = 0);
virtual ~MainWindow();
};
class OpenGLScene : public QGraphicsScene
{
Q_OBJECT
public:
OpenGLScene(int width, int height)
{
setSceneRect(0, 0, width, height);
MainWindow *w = new MainWindow(); //MainWindow上面的控件大部分都会自动刷新,即使没有任何变化
QGraphicsProxyWidget *pProxy = addWidget(w);
w->showFullScreen();
pProxy->show();
}
};