Qt通过信号槽机制主类向次类传参数的关键代码

本文详细介绍了在Qt框架中如何实现主线程与子线程间的信号与槽通信机制。通过具体代码示例,展示了如何创建并启动一个子线程,以及如何在主线程与子线程之间传递QListWidget组件,实现数据的跨线程更新。
//mainwindow.h关键代码

signals:
    void sig_show(QListWidget* pListWidget);
public slots:
    void slot_startButtonClicked();
private:
    Show* m_pShow;
    QThread* m_pShowThread;

//mainwindows.cpp关键代码
//MainWindow的构造函数中的代码
m_pShowThread = new QThread();
m_pShow = new Show();
m_pShow->moveToThread(m_pShowThread);
connect(ui->startButton, SIGNAL(clicked()), this, SLOT(slot_startButtonClicked()));
connect(this, &MainWindow::sig_show, m_pShow, &Show::slot_showHandle, Qt::QueuedConnection);
m_pShowThread->start();

//slot_startButtonClicked中的代码
QListWidget* pListWidget = ui->listWidget;
emit sig_show(pListWigdet);
//show.h中的代码
public slots:
    void slot_showHandle(QListWidget* pListWidget);
//show.cpp中的代码
void Show::slot_showHandle(QListWidget* pListWidget)
{
    pListWidget->addItem("abc");
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值