#include <QApplication>
int main() {
QApplication::setStyle("windows");
QApplication::setStyle("windows");
}
此程序产生段错误(核心已转储)
。我的 qmake
版本是 4.7.2
。这是 Qt 错误还是我的版本太旧?
最佳答案
在设置样式之前,您必须创建 QApplication 的实例。来自文档
Ownership of the style object is transferred to QApplication, so QApplication will delete the style object on application exit or when a new style is set and the old style is still the parent of the application object.
我假设它正在崩溃,因为没有 QApplication 来获取样式的所有权。通常,创建 QApplication 是您应该做的第一件事。
#include <QApplication>
int main() {
QApplication a(argc, argv);
QApplication::setStyle("windows");
QApplication::setStyle("windows");
}
关于c++ - 两次设置 QApplication::style 后程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20550822/