【发布时间】:2015-04-20 10:29:50
【问题描述】:
现在,这让我很困惑,
举一个我的示例 GUI 的简短示例,
我。我在主窗口中有四个标签,label_1、label_2、label_3、label_4
二。我也有spinBox、comboBox 和pushButton。
三。 comboBox 中的值为 - ITEM1、ITEM2、ITEM3、ITEM4。
四。当用户运行程序时,他从spinBox (1-4) 中选择值并从comboBox 中选择值。并且每按pushButton 标签文本都会改变,标签文本显示的逻辑
spinBox value = 1 and comboBox = ITEM1, label_1->setText("Item 1 in label1")
spinBox value = 1 and comboBox = ITEM2, label_1->setText("Item 2 in label1")
spinBox value = 1 and comboBox = ITEM3, label_1->setText("Item 3 in label1")
spinBox value = 1 and comboBox = ITEM4, label_1->setText("Item 4 in label1")
spinBox value = 2 and comboBox = ITEM1, label_2->setText("Item 1 in label2")
spinBox value = 2 and comboBox = ITEM2, label_2->setText("Item 2 in label2")
spinBox value = 2 and comboBox = ITEM3, label_2->setText("Item 3 in label2")
spinBox value = 2 and comboBox = ITEM4, label_2->setText("Item 4 in label2")
等等.. .. .. 对于所有标签(即 label_2、label_3、label_4)。
样本sn-p,
void MainWindow::on_pushButton_clicked()
{
int spinValue;
QString comboText;
spinValue=ui->spinBox->value();
comboText=ui->comboBox->currentText();
if(spinValue==1)
{
if(comboText=="LABEL 1")
{
ui->label->setText("ITEM 1 in field 1");
}
else if(comboText=="LABEL 2")
{
ui->label->setText("ITEM 2 in field 1");
}.. .. .. .. .. .. ..
编辑 为了更好地说明,用户从旋转框中选择一个值(例如 1)从组合框中选择一个值(例如 TEXT1)按下按钮;再次从旋转框中选择第二个值(例如 2)从组合框中选择一个值(例如 TEXT2)按下按钮等...以填充所有 4 个标签中的数据。
即理论上,SpinBox 中的值就是标签号。
现在,我想确保应用程序重新启动时应用程序的状态应该恢复,
即如何保存 SpinBox 值和 ComboBox 值的组合???
【问题讨论】:
-
您的问题不清楚。您似乎想定期保存状态。每次用户采取行动时,节省的成本都会很高。
-
我已经提出了更多的观点以便更好地澄清......谢谢你的建议......
-
实际上我的 UI 中有空间限制,所以我使用旋转框和组合框来设置标签中的值。买不起 6 个组合框,因为我在表格中没有太多空间)。
标签: c++ qt serialization qt4 qsettings