【发布时间】:2012-10-31 18:51:27
【问题描述】:
如何在不点击的情况下初始化 QComboBox 的默认值?我试过了
ui->combBox->setCurrentIndex(1);
但是当我第一次读取该值时,不幸的是,我得到了一个 -1,并且只有在点击 QComboBox 后,它的值才变为 1。
【问题讨论】:
-
当您尝试将索引设置为 1 时,组合框是否至少有 2 个项目?
如何在不点击的情况下初始化 QComboBox 的默认值?我试过了
ui->combBox->setCurrentIndex(1);
但是当我第一次读取该值时,不幸的是,我得到了一个 -1,并且只有在点击 QComboBox 后,它的值才变为 1。
【问题讨论】:
您确定 QComboBox 中至少有两个值吗?从 0 开始计数,而不是 1。如果要选择第一个值,则需要:
ui->combBox->setCurrentIndex(0);
如果这不是问题,并且组合框中确实有两个值,那么请确保首先设置了 ui。这个调用需要先执行:
ui->setupUi(this);
它实际上是用 .ui 文件中指定的值填充组合框。
【讨论】:
ui->setupUi(this);调用之前?
ui->setupUi(this)。当您创建 .ui 和 .cpp 文件时,Qt 会自动编写该调用。您也可以在您的问题中发布构造函数的代码,以便我们验证这一点。
我解决了这个问题。 ui->combBox->setCurrentIndex(1); 之前在构造函数中
connect(ui->combBox,SIGNAL(currentIndexChanged(int))....
@Nikos C. 非常感谢您的提示。
【讨论】: