【发布时间】:2021-05-09 19:48:58
【问题描述】:
我刚刚使用 QtCreator 启动 Qt5,我有一个关于在 design 视图中更改小部件名称的问题。
例如,我有一个QComboBox,我使用findChild() 来查找它(这是在mainwindow.cpp 中):
QComboBox *comboBoxType;
void MainWindow::on_Start_clicked()
{
comboBoxType = ui->stackedWidget->findChild<QComboBox *>("typeComboBox", Qt::FindChildrenRecursively);
comboBoxType->addItem("Hash");
comboBoxType->addItem("Hash2");
}
但是,例如,当我在design 视图中将小部件的名称从typeComboBox 更改为typeBox 时,mainwindow.cpp 中的typeComboBox 名称没有更改,并导致明显的崩溃:
02:32:37: The program has unexpectedly finished.
02:32:37: The process was ended forcefully.
02:32:37: D:\...\build-cryptog-Desktop_Qt_5_15_2_MinGW_64_bit-Debug\debug\cryptog.exe crashed.
是否有任何方法可以同时更改/更新 .ui 和 mainwindow.cpp 中的名称,或者除了在 mainwindow.cpp 中手动输入名称之外还有更好的方法,这样我就不必在design视图中更改某些内容后,去寻找代码中的罪魁祸首?
【问题讨论】: