QCombobox::setView 在 windows 7 上使应用程序崩溃

QCombobox::setView crashes application on windows 7

我想将 QTreeWidget 放入 QCombobox 对象中。我有以下代码在 Linux:

上运行良好
QTreeWidget* tree = new QTreeWidget(ui->comboBox);

ui->comboBox->setView(tree);
ui->comboBox->setModel(tree->model());

...但是当我尝试在 x64 windows 7 上 运行 这段代码时,它使应用程序崩溃并出现 运行 时间错误:


我尝试过的事情:

  1. 重新安装所有 MS VC++ 可再发行库(版本 2005-2008-2010-2012-2015,32 位和 64 位版本)
  2. 所有 Qt DDL-s 移动到应用程序文件夹
  3. qwindows.dll移动到平台文件夹
  4. 使用 -O0 标志编译应用程序
  5. 尝试其他东西而不是 QTreeWidget(例如 QListWidget 也会使应用程序崩溃)。

我的环境:

OS: Windows 7 x86_64

Qt 版本:5.5.1 Community Edition,由在线安装程序安装

编译器: mingw 4.9.2 32 位版本(重要的是,我没有尝试 64 位版本) .


您可以从这里下载测试项目:Github Repo

来自 QComboBox::setView() 文档:

make sure to call setModel() on the combobox with the convenience widgets model before calling this function.

强调是我加的 ;)