gpt4 book ai didi

c++ - 单击按钮上的 Qt C++ 事件

转载 作者:行者123 更新时间:2023-11-30 04:07:58 25 4
gpt4 key购买 nike

我正在使用 Qt 框架编写一个应用程序。我正在使用自定义 CSS 文件来设计我的小部件和组件,如下所示:

  QPushButton:checked#switchButtonConsole, QPushButton:checked#switchButtonList, QPushButton:checked#switchButtonStats {                                                    
background: qlineargradient(spread:reflect, x1:1, y1:0, x2:1, y2:1, stop:0 #151513, stop:1 #101010);
border-right: 1px solid #2E2E26;
padding: 5px;
color: #94948E;
}

我有不同的 CSS 样式,具体取决于按钮所处的状态。无论是选中还是未选中。

我有 3 个按钮,默认情况下第一个按钮设置为选中,其他按钮设置为未选中。这是我用来设置按钮状态的代码:

void MainWindow::on_switchButtonConsole_clicked() {                                                                                                                            
ui->mainStack->setCurrentIndex(3);

if(!isChecked(ui->switchButtonConsole)) {
ui->switchButtonConsole->setChecked(true);
};

};

我遇到的问题是,如果我单击另一个按钮(请记住,我对每个按钮都有一个类似于上面的功能),则按下的前一个按钮将保持选中状态,因此选中状态样式将保持不变。所以如果我点击所有 3 个按钮,它们看起来就像被选中了。我似乎无法弄清楚如何将上一个按下的按钮设置为未选中状态,因此这仅适用于我当前按下的按钮的选中状态样式,并将未选中样式设置为其余按钮。

最佳答案

此处的解决方案是将所有三个按钮添加到 QButtonGroup 并将其设置为独占。这样 Qt 将自动执行您想要的操作。

关于c++ - 单击按钮上的 Qt C++ 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22119744/

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