Qt5 | 带插槽的功能不起作用

佩库尔卡

我用两种形式制作了一个应用程序。

当我按第二个表单中的保存按钮时,它将更新数据库记录,并返回到第一个表单。我已经通过Signal-Slot使用以下代码连接了两种形式:

打印机数据

signals:
void btnSavePressed(QString printerName);

PrinterData.cpp

UiMainWindow frmMain;
connect(this,SIGNAL(btnSavePressed(QString)),&frmMain,SLOT(refreshSaved( QString )));
emit btnSavePressed(ui->ledit_druckerName->text());
this->hide();

UiMainWindow.h

public slots:
void refreshSaved(QString printerName);

UiMainWindow.cpp

void UiMainWindow::refreshSaved(QString printerName){
    qDebug()<<"Updated: "<<printerName;

    show_list(); //<<<<<<<<<<<<<<<<<<<<<< this function
}

show_list

void UiMainWindow::show_list (){

    QList<DB_Printers_lvs> list;
    DB_Printers_lvsTransporter t("LVS");
    QString        wc;

    this->setCursor(Qt::WaitCursor);

    wc = QString("where 1=1 order by nam_printer");
    if (!t.load_dbPrinters_lvs_wc(&list,wc))
    {
        log()<< "get printers failed"<< wc << t.getLastError();
        this->setCursor(Qt::ArrowCursor);
        return;
    }


    ui.treeWidget->clear();

    foreach (DB_Printers_lvs db, list)
    {
        QTreeWidgetItem *item = new QTreeWidgetItem(0);

        printer_to_qtreewidgetitem(item, db);

        ui.treeWidget->insertTopLevelItem(ui.treeWidget->topLevelItemCount(), item);
    }

    ui.treeWidget->header()->resizeSections(QHeaderView::ResizeToContents);
    ui.bow_search->apply();
    this->setCursor(Qt::ArrowCursor);
}

当我按下第二个表单上的按钮时,第一个表单显示我看到Updated带有打印机名称的调试文字,但是问题是如何调用或启动此功能show_list()

感谢帮助。

叶夫根尼

您在UiMainWindow此处创建第二个实例的问题:

UiMainWindow frmMain;

然后,您将信号与第二个实例连接起来,称为信号槽,但是您甚至没有显示MainForm的第二个实例。取而代之的是,您应该UiMainWindow在创建DruckerData表格立即将信号和插槽连接起来不幸的是,您的问题中没有此代码,因此我无法显示确切的位置。这应该是这样的:

//Inside UiMainWindow
DruckerData *data = new DruckerData(this);
connect(data, SIGNAL(btnSavePressed(QString)),this,SLOT(refreshSaved( QString )));
data->show();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

QT5 C++ 信号到 QML 插槽不起作用

来自分类Dev

QT5中的信号和插槽

来自分类Dev

Qt5:无法将信号连接到插槽

来自分类Dev

qt5:将过载信号和插槽功能与static_cast连接

来自分类Dev

SAPUI5 / OPENUI5 - 按钮上的功能不起作用

来自分类Dev

QT5单选按钮信号与功能不兼容,即使应该

来自分类Dev

华硕M5A97中的局域网唤醒功能不起作用

来自分类Dev

Qt信号/插槽不起作用[非常基本]

来自分类Dev

Qt C ++自定义插槽不起作用

来自分类Dev

Qt:自定义插槽不起作用

来自分类Dev

从Qt调用C ++函数(插槽不起作用)

来自分类Dev

连接信号和插槽不起作用 Qt

来自分类Dev

带Ajax的Codeigniter:成功功能不起作用

来自分类Dev

继承的对象[Qt5]中出现信号和插槽问题

来自分类Dev

是否可以从Qt5 QML中的信号断开所有插槽?

来自分类Dev

如何在具有默认参数的插槽上使用Qt5 connect()

来自分类Dev

继承的对象[Qt5]中出现信号和插槽问题

来自分类Dev

如何在具有默认参数的插槽上使用Qt5 connect()

来自分类Dev

Qt5:虽然已连接,但发出信号但未调用插槽

来自分类Dev

QT- 信号和插槽 setEnabled(bool) 插槽不起作用

来自分类Dev

如何在Qt5中启用不赞成使用的功能

来自分类Dev

iMX6上的Qt5:如何确保使用了硬件加速功能?

来自分类Dev

功能不起作用

来自分类Dev

功能不起作用

来自分类Dev

Qt5:阻止该应用程序的另一个实例不再起作用...!

来自分类Dev

Qt5发出的语法接受插槽名称。插槽是否通过事件队列处理

来自分类Dev

Qt5信号捕获到插槽会生成运行时错误“信号不存在”

来自分类Dev

带订单的Symfony5灯具-getOrder()不起作用

来自分类Dev

作为Qt5库的一部分进行编译时如何启用/禁用WebKit功能

Related 相关文章

  1. 1

    QT5 C++ 信号到 QML 插槽不起作用

  2. 2

    QT5中的信号和插槽

  3. 3

    Qt5:无法将信号连接到插槽

  4. 4

    qt5:将过载信号和插槽功能与static_cast连接

  5. 5

    SAPUI5 / OPENUI5 - 按钮上的功能不起作用

  6. 6

    QT5单选按钮信号与功能不兼容,即使应该

  7. 7

    华硕M5A97中的局域网唤醒功能不起作用

  8. 8

    Qt信号/插槽不起作用[非常基本]

  9. 9

    Qt C ++自定义插槽不起作用

  10. 10

    Qt:自定义插槽不起作用

  11. 11

    从Qt调用C ++函数(插槽不起作用)

  12. 12

    连接信号和插槽不起作用 Qt

  13. 13

    带Ajax的Codeigniter:成功功能不起作用

  14. 14

    继承的对象[Qt5]中出现信号和插槽问题

  15. 15

    是否可以从Qt5 QML中的信号断开所有插槽?

  16. 16

    如何在具有默认参数的插槽上使用Qt5 connect()

  17. 17

    继承的对象[Qt5]中出现信号和插槽问题

  18. 18

    如何在具有默认参数的插槽上使用Qt5 connect()

  19. 19

    Qt5:虽然已连接,但发出信号但未调用插槽

  20. 20

    QT- 信号和插槽 setEnabled(bool) 插槽不起作用

  21. 21

    如何在Qt5中启用不赞成使用的功能

  22. 22

    iMX6上的Qt5:如何确保使用了硬件加速功能?

  23. 23

    功能不起作用

  24. 24

    功能不起作用

  25. 25

    Qt5:阻止该应用程序的另一个实例不再起作用...!

  26. 26

    Qt5发出的语法接受插槽名称。插槽是否通过事件队列处理

  27. 27

    Qt5信号捕获到插槽会生成运行时错误“信号不存在”

  28. 28

    带订单的Symfony5灯具-getOrder()不起作用

  29. 29

    作为Qt5库的一部分进行编译时如何启用/禁用WebKit功能

热门标签

归档