Qt5 Tabwidget-Addwidget异常引发读取访问冲突

时间:2020-04-09 14:43:42

标签: c++ qt5 qtabwidget

创建标签小工具并在此处添加标签...

对不起,我错过了这一点,创建了中央小部件和Tabwidget:

QWidget* centralWidget = new QWidget();
QTabWidget* tabWidget = new QTabWidget(centralWidget);
tabWidget->setTabsClosable(false);

this->setCentralWidget(centralWidget);



QWidget* logTab = new QWidget();    
QTextEdit* logOutput = new QTextEdit();
logOutput->setReadOnly(true);
logOutput->setLineWrapMode(QTextEdit::NoWrap);
QFont* font = new QFont();
font->setFamily("Courier");
font->setPointSize(10);

QVBoxLayout* tabLayout = new QVBoxLayout();
tabLayout->addWidget(logOutput);
logTab->setLayout(tabLayout);

tabWidget->addTab(logTab, tr("Log"));

在addtab上,它会引发异常引发的读取访问冲突,调用堆栈如下:

Qt5Widgetsd.dll!QTabWidget::insertTab(int index, QWidget * w, const QIcon & icon, const QString & label) Line 472   C++
Qt5Widgetsd.dll!QTabWidget::insertTab(int index, QWidget * w, const QString & label) Line 454   C++
Qt5Widgetsd.dll!QTabWidget::addTab(QWidget * child, const QString & label) Line 399 C++

1 个答案:

答案 0 :(得分:0)

我要双重声明,所以既有一个类成员变量,又有一个局部变量。 h !!!!!!难怪它不起作用。