在 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.
有没有什么方法可以同时在 .ui
和 mainwindow.cpp
中输入 changing/updating 这两个名字,或者除了在 [=15= 中手动输入名字之外还有更好的方法吗? ], 这样我在 design
视图中更改某些内容后就不必去寻找代码中的罪魁祸首了?
在 QtCreator 中,您可以使用高级查找菜单 (Ctrl+Shift+F ) 对项目中的所有文件执行查找和替换操作。
启用“区分大小写”和“仅限全字”选项以将匹配限制为准确名称。
我刚开始使用 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.
有没有什么方法可以同时在 .ui
和 mainwindow.cpp
中输入 changing/updating 这两个名字,或者除了在 [=15= 中手动输入名字之外还有更好的方法吗? ], 这样我在 design
视图中更改某些内容后就不必去寻找代码中的罪魁祸首了?
在 QtCreator 中,您可以使用高级查找菜单 (Ctrl+Shift+F ) 对项目中的所有文件执行查找和替换操作。
启用“区分大小写”和“仅限全字”选项以将匹配限制为准确名称。