C++学习(八十六)QT在console中使用qpainter

qpainter在qt的gui模块中,console在core模块中。因此建立的console模块默认是不能使用qpainter的,为了能使用qpainter,需要增加gui模块,即:

CONFIG += console gui

并且在main函数中添加

QGuiApplication a(argc, argv);

如果没有上面的这两部操作,使用qpainter会报错:

ASSERT failure in QGuiApplication::font(): "no QGuiApplication instance", file kernel\qguiapplication.cpp, line 2958

 

 

延伸内容:

1、QCoreApplication定义在core模块中,为应用程序提供了一个非gui的事件循环;QGuiApplication定义在gui模块中,提供了额外的gui相关的设置,比如桌面设置,风格,字体,调色板,剪切板,光标;QApplication定义在widgets模块中,是QWidget相关的,能设置双击间隔,按键间隔,拖拽距离和时间,滚轮滚动行数等,能获取桌面,激活的窗口,模式控件,弹跳控件等。如果你的应用程序是无界面的,直接使用QCoreApplication即可,如果是gui相关,但没有使用widgets模块的就使用QGuiApplication,否则使用QApplication。

继承关系:QApplication <- QGuiApplication <- QCoreApplication <- QObject

 

 

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读