营销网站建设佛山专业做淘宝网站
web/
2025/10/5 4:49:40/
文章来源:
营销网站建设,佛山专业做淘宝网站,同城迅帮app下载,网站文件大小文章目录 首先是主线程 其次是一个程序 通过一个QThread来放入程序 进阶一点: 手动开启关闭线程俩个线程 其实QT中的thread(线程)是很容易的 首先是主线程 #include mainwindow.h
#include ui_mainwindow.h#include QDebugMainWindow::MainWin… 文章目录 首先是主线程 其次是一个程序 通过一个QThread来放入程序 进阶一点: 手动开启关闭线程俩个线程 其实QT中的thread(线程)是很容易的 首先是主线程
#include mainwindow.h
#include ui_mainwindow.h#include QDebugMainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui-setupUi(this);//threadTest new ThreadTest;//线程实例//threadTest-start();//开启线程for(int i0;i100;i){qDebug() mainwindow i: i;_sleep(500);}}MainWindow::~MainWindow()
{delete ui;
}其次是一个程序
#include test.h
#include QDebugTest::Test()
{for(int i0;i100;i){qDebug() i i;_sleep(1000);}
}Test::~Test(){} 通过一个QThread来放入程序
#include threadtest.h
#include QDebugThreadTest::ThreadTest()
{}void ThreadTest::run(){test new Test;
}
void ThreadTest::stop(){}ThreadTest::~ThreadTest(){} 一个简单的线程就实现了 进阶一点: 手动开启关闭线程 添加一个按键通过信号和槽来控制线程使能关闭 #include mainwindow.h
#include ui_mainwindow.h#include QDebug
#include QPushButtonbool isTrue;MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui-setupUi(this);isTrue true;threadTest new ThreadTest;connect(ui-pushButton,QPushButton::clicked,this,MainWindow::on_button_test);for(int i0;i100;i){qDebug() mainwindow i: i;_sleep(100);}}void MainWindow::on_button_test(){if(isTrue){threadTest-start();isTrue false;ui-pushButton-setText(关闭线程);}else{threadTest-stop();isTrue true;ui-pushButton-setText(开启线程);}
}MainWindow::~MainWindow()
{delete ui;
// threadTest-de;delete threadTest;
}#include threadtest.h
#include QDebugThreadTest::ThreadTest()
{}void ThreadTest::run(){test new Test;
}
void ThreadTest::stop(){this-quit();this-wait();
}ThreadTest::~ThreadTest(){} Test不变。现象是mainwindow i:99(执行完)后窗口出现之后开启线程。开启后立马关闭会执行到i99(线程执行完)后才关闭 俩个线程 继第一个线程后我们再来一个线程也是在主函数中实例。查看情况 #include threadtesttwo.h
#include QDebugThreadTestTwo::ThreadTestTwo()
{}
void ThreadTestTwo::run(){for(int i0;i100;i){qDebug() threadTwo i i;_sleep(200);}
}
void ThreadTestTwo::stop(){}
ThreadTestTwo::~ThreadTestTwo(){}
#include mainwindow.h
#include ui_mainwindow.h#include QDebug
#include QPushButtonbool isTrue;MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui-setupUi(this);isTrue true;threadTest new ThreadTest;threadTestTwo new ThreadTestTwo;connect(ui-pushButton,QPushButton::clicked,this,MainWindow::on_button_test);}void MainWindow::on_button_test(){if(isTrue){threadTest-start();threadTestTwo-start();isTrue false;ui-pushButton-setText(关闭线程);}else{threadTest-stop();threadTestTwo-stop();isTrue true;ui-pushButton-setText(开启线程);}
}MainWindow::~MainWindow()
{delete ui;delete threadTest;
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/87166.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!