【发布时间】:2017-06-02 15:21:18
【问题描述】:
我有一大块基于 Qt 的软件,可以在我们使用的所有现代机器上正常运行。我们尝试在旧机器上运行编译后的软件,当我们尝试构建更大的场景时软件崩溃并出现以下错误:
程序中只有几个地方使用了QPainter,并且它在QStyledItemDelegate的继承类的重新定义的方法paint()中,例如:
virtual void paint(QPainter *painter,
const QStyleOptionViewItem &option,
const QModelIndex &index) const
{
QStyledItemDelegate::paint(painter, option, index);
// ...
QApplication::style()->drawControl(QStyle::CE_PushButtonLabel, &buttonDelete, painter);
}
问题是QPainter 出现此类问题的原因可能是什么?这是否与可用内存有关,因为它在所有现代机器上似乎都很好?有什么建议可以在这里做什么?
【问题讨论】: