在 Qt 的设计视图和代码视图中更改小部件的名称

Changing widget's name in both design view and code view in Qt

我刚开始使用 QtCreator 启动 Qt5,我有一个关于在 design 视图中更改小部件名称的问题。

所以,例如,我有一个 QComboBox and I I use 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 时,例如,[=15= 中的 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.

有没有什么方法可以同时在 .uimainwindow.cpp 中输入 changing/updating 这两个名字,或者除了在 [=15= 中手动输入名字之外还有更好的方法吗? ], 这样我在 design 视图中更改某些内容后就不必去寻找代码中的罪魁祸首了?

在 QtCreator 中,您可以使用高级查找菜单 (Ctrl+Shift+F ) 对项目中的所有文件执行查找和替换操作。

启用“区分大小写”和“仅限全字”选项以将匹配限制为准确名称。