gpt4 book ai didi

c++ - QTabWidget setCurrentIndex 没有按预期工作

转载 作者:太空狗 更新时间:2023-10-29 21:31:46 25 4
gpt4 key购买 nike

如果满足特定条件,当用户单击 QTabWidget 的第二个选项卡时,我试图将 View 更改为主选项卡,但是当我调用 setCurrentIndex()on_tabWidget_tabBarClicked() 中, View 停留在当前选项卡上。请看下面的代码。

如果我在 on_tabWidget_tabBarClicked() 之外调用 setCurrentIndex(),那么它会起作用。

void MainWindow::on_tabWidget_tabBarClicked(int index)
{
if (index == 1)
{
Error("Empty, back to main");
ui->tabWidget->setCurrentIndex(0);
}
}

最佳答案

你的问题是,当信号被触发时,即使你的鼠标在 QTabWidget 上,所以即使你使用 setCurrentIndex(0) 更改选项卡,鼠标事件也会将其更改回 1。在这种情况下,逻辑稍后更改它,为此使用 QTimer:

void MainWindow::on_tabWidget_tabBarClicked(int index)
{
if(index==1)
{
Error("Empty, back to main");
QTimer::singleShot(100, [this](){ ui->tabWidget->setCurrentIndex(0); });
}
}

关于c++ - QTabWidget setCurrentIndex 没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57326940/

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