为什么QT的combox 选中之后退出界面不是上次选中的状态啊?该怎么写才能达到选中退出界面后再进入时是上次的选中状态啊,求解答
4条回答 默认 最新
- 希望代码都能跑 2023-05-29 18:00关注
由于程序没有保存上一次下拉框的选项导致的。
使用QSettings类来保存每次下拉框的选项,以便下次重新打开程序时可以恢复之前的选项,示例代码:// 保存 void MyWidget::saveSettings() { QSettings settings("myApp", "myWidget"); settings.setValue("comboboxIndex", ui->comboBox->currentIndex()); } // 加载 void MyWidget::loadSettings() { QSettings settings("myApp", "myWidget"); int index = settings.value("comboboxIndex", 0).toInt(); ui->comboBox->setCurrentIndex(index); }
2、在析构函数中手动保存选项并在构造函数中加载上一次保存的选项。示例代码:
// 构造函数 MyWidget::MyWidget(QWidget *parent) : QWidget(parent) { // ... loadSettings(); } // 析构函数 MyWidget::~MyWidget() { saveSettings(); } // 保存 void MyWidget::saveSettings() { QSettings settings("myApp", "myWidget"); settings.setValue("comboboxIndex", ui->comboBox->currentIndex()); } // 加载 void MyWidget::loadSettings() { QSettings settings("myApp", "myWidget"); int index = settings.value("comboboxIndex", 0).toInt(); ui->comboBox->setCurrentIndex(index); }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 wpf datagrid如何实现多层表头
- ¥15 为啥画版图在Run DRC会出现Connect Error?可我Calibre的hostname和计算机的hostname已经设置成一样的了。
- ¥20 网站后台使用极速模式非常的卡
- ¥20 Keil uVision5创建project没反应
- ¥15 mmseqs内存报错
- ¥15 vika文档如何与obsidian同步
- ¥15 华为手机相册里面的照片能够替换成自己想要的照片吗?
- ¥15 陆空双模式无人机飞控设置
- ¥15 sentaurus lithography
- ¥100 求抖音ck号 或者提ck教程