sirwan.bz
دوشنبه 30 تیر 1393, 12:06 عصر
سلام دوستان
توی Thread زدن معمولا slot رو براش توی یه کلاس جدا تعریف میکنن و بعد اونو کانکت میکنن و وقتی دکمه ی ستارت زده بشه اونجا Thread استارت میشه
ولی وقتی اونو توی یه کلاس جدا واسش تعریف نکنیم چی؟ یعنی همه کارامونو توی همون MainWindow بخوایم انجام بدیم.
MainWindow::MainWindow(QWidget*parent):
QMainWindow(parent),
ui(newUi::MainWindow){
ui->setupUi(this);}
voidMainWindow::DoThread(QThread&mThread)
{connect(&mThread,SIGNAL(started()),this,SLOT(DoWOrk()));
}voidMainWindow::DoWOrk(){
int a = ui->lineEdit->text().ToInt();
int b = ui->lineEdit2->text().ToInt();
for(int i=a; i<=b; i++)
{
Do SomeThing
}
voidMainWindow::on_pushButton_clicked()
{
}
خوب الان مشکل من اینه که Thread رو توی دکمه ام چجوری استارت کنم؟
آیا فقط بنویسم
thread->start();
کافیه؟ یا باید یه سری چیزای دیگه رو هم moveToThread کنم؟
ممنون میشم اگه راهنماییم کنید.
توی Thread زدن معمولا slot رو براش توی یه کلاس جدا تعریف میکنن و بعد اونو کانکت میکنن و وقتی دکمه ی ستارت زده بشه اونجا Thread استارت میشه
ولی وقتی اونو توی یه کلاس جدا واسش تعریف نکنیم چی؟ یعنی همه کارامونو توی همون MainWindow بخوایم انجام بدیم.
MainWindow::MainWindow(QWidget*parent):
QMainWindow(parent),
ui(newUi::MainWindow){
ui->setupUi(this);}
voidMainWindow::DoThread(QThread&mThread)
{connect(&mThread,SIGNAL(started()),this,SLOT(DoWOrk()));
}voidMainWindow::DoWOrk(){
int a = ui->lineEdit->text().ToInt();
int b = ui->lineEdit2->text().ToInt();
for(int i=a; i<=b; i++)
{
Do SomeThing
}
voidMainWindow::on_pushButton_clicked()
{
}
خوب الان مشکل من اینه که Thread رو توی دکمه ام چجوری استارت کنم؟
آیا فقط بنویسم
thread->start();
کافیه؟ یا باید یه سری چیزای دیگه رو هم moveToThread کنم؟
ممنون میشم اگه راهنماییم کنید.