大大大西瓜嘞 2023-10-16 15:32 采纳率: 33.3%
浏览 20
已结题

Qt的Qtablewidget中插入Qcombox后出现异常,如何解决?

在qt的tablewidget中插入combox,运行项目,选中qtablewidget控件,但是不是表格,点击字母按键,项目卡死,以下是源码:


#include <QApplication>
#include <QWidget>
#include <QTableWidget>
#include<qcombobox.h>
#include <qboxlayout.h>
int main(int argc, char* argv[])
{
    QApplication app(argc, argv);

    QWidget window;
    window.resize(1000,400);
    QTableWidget* customTableWidget=new QTableWidget(&window);
    customTableWidget->setColumnCount(3);
    customTableWidget->setRowCount(4);

    for (int row = 0; row < 4; ++row)
    {
        for (int col = 0; col < 2; ++col)
        {
            QComboBox* comboBox = new QComboBox();
            comboBox->addItem("Option 1");
            comboBox->addItem("Option 2");
            comboBox->addItem("Option 3");

            customTableWidget->setCellWidget(row, col, comboBox);
        }
    }
    QVBoxLayout layout;
    layout.addWidget(customTableWidget);

    window.setLayout(&layout);
    window.show();

    return app.exec();
}

img


箭头指向位置为鼠标点击位置,然后点击字符按键项目报错。
Qt5.12.2报错为:
0x00FACAC3 处(位于 tabtest.exe 中)引发的异常: 0xC00000FD: Stack overflow (参数: 0x00000001, 0x00AE2EF4)。
0x00FACAC3 处有未经处理的异常(在 tabtest.exe 中): 0xC00000FD: Stack overflow (参数: 0x00000001, 0x00AE2EF4)。
Qt5.15.11报错为:
0x7046F4F6 (Qt5Widgets.dll)处(位于 tabtest.exe 中)引发的异常: 0xC00000FD: Stack overflow (参数: 0x00000001, 0x00412E74)。
0x7046F4F6 (Qt5Widgets.dll) (tabtest.exe 中)处有未经处理的异常: 0xC00000FD: Stack overflow (参数: 0x00000001, 0x00412E74)。

  • 写回答

3条回答 默认 最新

  • 大大大西瓜嘞 2023-10-17 12:53
    关注

    window自带的输入法会有影响,切换回下载的比如搜狗输入法之后就不会触发这个问题了,应该是qt或者window不兼容的问题

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 10月25日
  • 已采纳回答 10月17日
  • 创建了问题 10月16日