【问题标题】:Changing widget's name in both design view and code view in Qt在 Qt 的设计视图和代码视图中更改小部件的名称
【发布时间】: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.

是否有任何方法可以同时更改/更新 .uimainwindow.cpp 中的名称,或者除了在 mainwindow.cpp 中手动输入名称之外还有更好的方法,这样我就不必在design视图中更改某些内容后,去寻找代码中的罪魁祸首?

【问题讨论】:

    标签: qt qcombobox


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多