Я подклассифицировал мой Qthread, поэтому я могу реализовать свой код в методе run()
. Мне нужно передать некоторые параметры,Передача аргументов методу run() QThread
Я пробовал это так, так что здесь не так?
class QMyThread :
public QThread
{
public:
QMyThread();
~QMyThread(void);
virtual void start(FILE *data, int sock, int bits);
protected:
virtual void run(FILE *data, int sock, int bits);
};
run method;
void QMyThread::run(FILE *data, int sock, int bits)
{
//do stuff
}
запустить поток:
QMyThread *thread;
thread->start(datafile, sockint, bitsint);
первого он говорит, что поток не может быть инициализирован, а затем он выходит из строя в start()
методе с SIGSEGV error
. Кто-нибудь может мне помочь?
ok, без подкласса QThread, как добавить параметры в функцию dowork()? и как получить некоторые значения от функции dowork до потока gui? – SamuelNLP
@SamuelNLP - вы можете передать данные своему рабочему объекту через конструктор или некоторый метод инициализации. – dtech
Я пробовал вот так: «Worker * worker = new Worker (sock, bits);' – SamuelNLP