#include <QApplication>
int main() {
QApplication::setStyle("windows");
QApplication::setStyle("windows");
}
该程序生成Segmentation fault (core dumped)
。我的qmake
版本为4.7.2
。这是Qt错误还是我的版本太旧了?
答案 0 :(得分:2)
在设置QApplication的样式之前,必须先创建一个QApplication实例。从文档
样式对象的所有权转移到QApplication,所以 QApplication将在应用程序出口或何时删除样式对象 设置了一个新样式,旧样式仍然是它的父级 应用对象。
我认为它正在崩溃,因为没有QApplication来获取该样式的所有权。通常,创建QApplication是您应该做的第一件事。
#include <QApplication>
int main() {
QApplication a(argc, argv);
QApplication::setStyle("windows");
QApplication::setStyle("windows");
}