• 10711阅读
  • 6回复

QThread::start: Failed to create thread (????????Ч??) [复制链接]

上一主题 下一主题
离线jiang200503
 
只看楼主 倒序阅读 楼主  发表于: 2010-12-26
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
我创建了一个自己的thread类,
mythread.h
class myThread: public QThread
{
    Q_OBJECT
public:
    myThread(QString p1,QString p2,double p3);

private:
    QString stockId;
    QString txnDt;
    double fiveVal;
    void run();
    void updTbl();

signals:
    void itemFinished(const QString SI);
    void changeText(QString str);
};

mythread.cpp
myThread::myThread(QString p1, QString p2, double p3)
{
    stockId=p1;
    txnDt=p2;
    fiveVal=p3;
}

void myThread::run()
{
    sleep(1);
    updTbl();
    emit itemFinished(stockId);
}
void myThread::updTbl()
{
  .......
}
然后在一个QDialog中这样使用
QThread *thread = new myThread(stockId,txnDt,fiveVal);
qRegisterMetaType<QString>("");
connect(thread,SIGNAL(changeText(QString)),this,SLOT(setLabelTxt(QString)),Qt::QueuedConnection);
connect(thread,SIGNAL(itemFinished(const QString)),this,SLOT(deleteThread()));
thread->start();
在运行的时候报错QThread::start: Failed to create thread (????????Ч??),这是怎么回事?怎么调试啊,高手支招哈,多谢了
离线jdwx

只看该作者 1楼 发表于: 2010-12-26
兄弟:run()是槽!
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线jiang200503
只看该作者 2楼 发表于: 2010-12-26
引用第1楼jdwx于2010-12-26 16:06发表的 :
兄弟:run()是槽!

大哥,我新手,不太明白,要怎么修改啊?
离线jiang200503
只看该作者 3楼 发表于: 2010-12-26
引用第1楼jdwx于2010-12-26 16:06发表的 :
兄弟:run()是槽!


Protected Functions
intexec ()
virtual voidrun ()

run()怎么是槽呢?
离线jiang200503
只看该作者 4楼 发表于: 2010-12-26
总算搞定了~
离线wb19861202
只看该作者 5楼 发表于: 2011-10-14
请问问题出在那?是怎么解决的?
离线ifantasy
只看该作者 6楼 发表于: 2011-10-14
QThread *thread = new myThread(stockId,txnDt,fiveVal);
这句就有问题,看它的参数尽然是私有成员变量
快速回复
限100 字节
 
上一个 下一个