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 上 运行 这段代码时,它使应用程序崩溃并出现 运行 时间错误:
我尝试过的事情:
- 重新安装所有 MS VC++ 可再发行库(版本 2005-2008-2010-2012-2015,32 位和 64 位版本)
- 将所有 Qt DDL-s 移动到应用程序文件夹
- 将qwindows.dll移动到平台文件夹
- 使用 -O0 标志编译应用程序
- 尝试其他东西而不是 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.
强调是我加的 ;)
我想将 QTreeWidget 放入 QCombobox 对象中。我有以下代码在 Linux:
上运行良好QTreeWidget* tree = new QTreeWidget(ui->comboBox);
ui->comboBox->setView(tree);
ui->comboBox->setModel(tree->model());
...但是当我尝试在 x64 windows 7 上 运行 这段代码时,它使应用程序崩溃并出现 运行 时间错误:
我尝试过的事情:
- 重新安装所有 MS VC++ 可再发行库(版本 2005-2008-2010-2012-2015,32 位和 64 位版本)
- 将所有 Qt DDL-s 移动到应用程序文件夹
- 将qwindows.dll移动到平台文件夹
- 使用 -O0 标志编译应用程序
- 尝试其他东西而不是 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.
强调是我加的 ;)