gpt4 book ai didi

c++ - inferior 停止是因为它收到了来自可调整大小的滚动区域上的操作系统错误的信号

转载 作者:太空宇宙 更新时间:2023-11-04 13:41:52 24 4
gpt4 key购买 nike

我在 QTabWidget 中有一个 QScrollArea,在我的 QTabWidget 旁边有一个 QWidget。我希望在调整主窗口大小时调整 QScrollArea 的大小,因此我编写了如下代码:

void frmSummaryContact::on_btnAddNewContact_clicked()
{
MainWindow *mnWindow = qobject_cast<MainWindow *>(this->parent()->parent()->parent()->parent()->parent()->parent());
QTabWidget *tbWidget = qobject_cast<QTabWidget *>(this->parent()->parent()->parent()->parent());
frmDetailContact *frm = new frmDetailContact(mnWindow, "input", -1, mnWindow->rightPane());

QScrollArea *scrlForm = new QScrollArea;
scrlForm->setWidgetResizable(true);
scrlForm->setWidget(frm);

mnWindow->AddNewTab(tbWidget, scrlForm, "Add Contact");
}

我的 QTabWidget 是不同的形式,所以我用 qobject_cast 来转换它。同时,在另一种形式中,我有一个 toogle 按钮来隐藏 QWidget,因此我的 QTabWidget 变宽了。所以在那种形式下我有这样的代码:

void frmDetailContactToggle::on_btnSearch_clicked()
{
MainWindow *mnWindow = qobject_cast<MainWindow *>(this->parent()->parent()->parent());
QLayoutItem *child;

while ((child = mnWindow->rightPane()->layout()->takeAt(0)) != 0)
child->widget()->setVisible(false);

mnWindow->rightPane()->setVisible(false);
QScrollArea *scrlContent = qobject_cast<QScrollArea *>(mnWindow->tabContentWidget()->currentWidget());
scrlContent->setWidgetResizable(false);
mnWindow->tabContentWidget()->setGeometry(mnWindow->tabContentWidget()->x(), mnWindow->tabContentWidget()->y(), m_width - mnWindow->tabContentWidget()->x() - 10, mnWindow->tabContentWidget()->height());
scrlContent->setWidgetResizable(true);
m_showRightPane = false;
}

我意识到当 WidgetResizable 为 true 时我无法更改几何图形。它显示“下级停止,因为它收到来自操作系统的信号”错误。所以我想把它变成假的,改变几何形状,然后再把它变成真的。但是当我想让它成真时,我遇到了同样的错误。谁能帮我解决我的问题?

最佳答案

如果您的程序使用未初始化的指针,可能会导致 SIGSEGV。

关于c++ - inferior 停止是因为它收到了来自可调整大小的滚动区域上的操作系统错误的信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27393032/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com