【问题标题】:How to sync the tab widget with a push button如何使用按钮同步选项卡小部件
【发布时间】:2014-08-26 15:34:02
【问题描述】:

我对 QT 很陌生,不熟悉,想知道如何将按钮与选项卡小部件同步。我想要完成的是让用户能够单击“下一步”按钮并能够被带到下一个选项卡。结果比我想象的要困难。如果可以,请提供详细说明,因为就像我之前所说的,我对 QT 不太熟悉。

void MainWindow::on_pushButton_clicked(){
              ui->tabWidget;
           int count = tabWidget.count();
           int currentTab=tabWidget.currentIndex();

    if (currentTab == count - 1){
        //tabWidget->setCurrentIndex(0);
        tabWidget.setCurrentIndex(0);
        tabWidget.setCurrentIndex(currentTab+1);

    }

}

【问题讨论】:

    标签: c++ qt qt4 qtwidgets


    【解决方案1】:

    您必须获取当前活动的标签索引并增加它。但是您还必须决定当前选项卡是否是最后一个选项卡。你应该去第一个还是什么都不做?原理图代码如下所示(如果超出范围,下一个选项卡会转到第一个选项卡)。

    编辑:我自己做了一个简单的例子,这段代码适合我。

    void Form::on_pushButton_clicked()
    {
        int count = ui->tabWidget->count();
        int currentTab = ui->tabWidget->currentIndex();
        if (currentTab == count - 1)
            ui->tabWidget->setCurrentIndex(0);
        ui->tabWidget->setCurrentIndex(currentTab+1);
    }
    

    【讨论】:

    • 我试图执行这段代码。我用点替换了->。出于某种原因,它不起作用,但它确实可以编译。 QTabWidget tabWidget; int count = tabWidget.count(); int currentTab=tabWidget.currentIndex(); if (currentTab == count - 1){ tabWidget.setCurrentIndex(0); (当前标签+1); tabWidget.setCurrentIndex(currentTab+1);
    • tabWidget 必须是你的 ui 中已经存在的那个,而不是新对象
    • 我假设从我正在使用的小部件创建一个对象,我必须“去一个插槽”。有许多选项,例如 tabBarClicked、destroy(int)。和你们一样,我很抱歉。我只是想弄清楚我需要做什么来创建一个带有选项卡小部件的对象
    • 在设计器中创建一个tabWidget和按钮,在按钮上单击右键转到插槽; clicked() 并粘贴代码。而不是 tabWidget 写类似ui->tabWidget
    • 这就是我所做的,因为它最有意义。它现在给我错误。(错误:C2228:'.count' 左侧必须有类/结构/联合类型是''unknown-type'')。我不明白为什么。我相信当你创建一个插槽时,它会自动创建一个类。
    猜你喜欢
    • 2019-06-08
    • 2018-07-14
    • 1970-01-01
    • 2012-09-24
    • 2014-08-20
    • 1970-01-01
    • 2016-05-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多