linux下qt多线程编程

Moyu18_06_12 2017-02-28 03:56:28
在使用pthread_create()时,线程执行函数需要参数Ui::Form(qt主窗体类)的对象作为参数,但编译出现错误:
error:void* is not a pointer-to-object type
在线等解决方法。。。
...全文
422 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Moyu18_06_12 2017-03-05
  • 打赏
  • 举报
回复
引用 9 楼 qq_33866143 的回复:
刚才看了下,是不是你先设置为只读的模式,所以对控件赋值不了,你试一下再把设置只读先false,再设置为true.
这个倒不是,我用Qt提供的线程库重写了一下,解决问题了,谢谢
qq_33866143 2017-03-03
  • 打赏
  • 举报
回复
刚才看了下,是不是你先设置为只读的模式,所以对控件赋值不了,你试一下再把设置只读先false,再设置为true.
qq_33866143 2017-03-03
  • 打赏
  • 举报
回复
在线程里面发射信号,connect在主窗体的构造函数里面执行要打印的setPlainText();
ipqtjmqj 2017-03-02
  • 打赏
  • 举报
回复
引用 6 楼 u014296991 的回复:
[quote=引用 5 楼 ipqtjmqj 的回复:] 那就调试setPlainText这个函数,首先确认这个函数能执行到,然后再往后调,看执行到哪一句挂掉了
调试这个函数是:这个函数执行到了,也正常结束了,但就是不对。。。[/quote] 那你说程序死机,如果不是这里,就是别处了,如果是多线程,要检查每个线程
Moyu18_06_12 2017-03-02
  • 打赏
  • 举报
回复
引用 5 楼 ipqtjmqj 的回复:
那就调试setPlainText这个函数,首先确认这个函数能执行到,然后再往后调,看执行到哪一句挂掉了
调试这个函数是:这个函数执行到了,也正常结束了,但就是不对。。。
ipqtjmqj 2017-03-02
  • 打赏
  • 举报
回复
那就调试setPlainText这个函数,首先确认这个函数能执行到,然后再往后调,看执行到哪一句挂掉了
Moyu18_06_12 2017-03-02
  • 打赏
  • 举报
回复
我重新写了一个代码,但有出现一个问题: mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"


extern QString strOfReci;
extern QString strOfSend;
extern bool isReady;

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    recieveThread * r_thread = new recieveThread();
    connect(r_thread,SIGNAL(getReci()),this,SLOT(showReci()),Qt::AutoConnection);

    r_thread->start();

/*    sendThread * s_thread = new sendThread();
    connect(ui->sendButton,SIGNAL(clicked()),this,SLOT(getSend()),Qt::AutoConnection);

    s_thread->start();*/
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::showReci()
{
    ui->recieveTextEdit->setReadOnly(1);
    ui->recieveTextEdit->setPlainText("123");=====>>问题在这,只要有这句话,运行程序就会死机,只有上句的话没问题

}


void MainWindow::getSend()
{
    strOfSend = ui->sendTextEdit->toPlainText();
    isReady = true;
}
ipqtjmqj 2017-02-28
  • 打赏
  • 举报
回复
引用 2 楼 u014296991 的回复:
我是要实现这样一个功能,Qt GUI图形界面:主界面有两个TextEdit,一个用来输入发送到串口的数据,一个用来接收串口数据,发送接收用两个线程实现,不知道怎么写。。。
我让你把代码贴一下。把创建线程与线程函数中使用参数的地方都贴一下。 从你说的报错看,应该把指针类型显式转一下就可以了
Moyu18_06_12 2017-02-28
  • 打赏
  • 举报
回复
我是要实现这样一个功能,Qt GUI图形界面:主界面有两个TextEdit,一个用来输入发送到串口的数据,一个用来接收串口数据,发送接收用两个线程实现,不知道怎么写。。。
ipqtjmqj 2017-02-28
  • 打赏
  • 举报
回复
show your code

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧