惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 司徒正美
M
MIT News - Artificial intelligence
博客园_首页
IT之家
IT之家
L
LangChain Blog
D
DataBreaches.Net
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Google DeepMind News
Google DeepMind News
Blog — PlanetScale
Blog — PlanetScale
人人都是产品经理
人人都是产品经理
博客园 - Franky
云风的 BLOG
云风的 BLOG
罗磊的独立博客
量子位
G
Google Developers Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 【当耐特】
博客园 - 叶小钗
S
SegmentFault 最新的问题
Stack Overflow Blog
Stack Overflow Blog
B
Blog
T
Tailwind CSS Blog
A
About on SuperTechFans
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com

Qt

撸了一个面向 Qt Widgets 的 Fluent 风格组件库 请问一下大家用 ai 做 qt 应用的时候有什么 skill 或者方法改进 ui 吗? qt 新手求助: No documents matching 'ui_mainwindow.h' could be found 请教几个 qt6, macos 打包遇到依赖问题。 新建一个 qt 项目,运行时,底下应用程序输出 1127, FromFilemap Qt5 托盘菜单右击时的异常 有没有什么工具可以美化 qt 界面的? Qt 有什么不错的第三方控件库吗? 寻求帮助!在 qt creator 里面创建 quick 项目失败,找不到原因。 关于 QT 中通过信号与槽的方式启动子线程的问题。 寻找一起开发这个开源项目的人, qt c++的,信息收藏、Kindle/微信读书/豆瓣阅读笔记管理 使用 Qt 做的软件界面太丑怎么办?有没有什么美工插件或者入门教程 有哪位大佬对修改 3DSlicer 或者开发插件有经验? 如何正确安装 QT? 请教 qt svg 打包后无法显示问题。 如何在 QT 中的多个级别的窗口之间传输消息 在 Qt 中控件同时使用智能指针和父子关系,会有二次删除风险吗? qt5 中文乱码问题怎么解决? 现在写 Qt 的主流 IDE 工具是什么? 请问多线程之间是如何协调配合的? QSerialPort 如何实现同一个串口设备命令做出不同操作? qt creator 插件开发问题请教 求助一个读硬盘序列号的问题 关于 Qt6.6.0 无法设置程序图标的问题 求助,如何编译 openwrt 的时候加入 qt6 为什么 Qt Creator 界面如此丑陋 大家了解 Qt 和 qt-creator 的开源协议吗?基于它,可以写闭源商用的软件吗? 求助,使用 CLion 开发 Qt,创建了 UI 类不会使用 mac 下的 Qt/C++应用,通过 url scheme 唤起时,如何获取到唤起的链接? Qt 中的 `QFontMetrics.boundingRect()` 算出来的文本长度有时候会不对,应该如何处理。
关于 QT(C++)通过继承 QObject 的方法实现多线程,子线程调...
h3xz · 2024-07-08 · via Qt
class MyThread : public QObject{
	Q_OBJECT
	void work(){	 
    	qDebug()<<"MyThread::work() thread id: "<<QThread::currentThreadId()<<"\n";	
    }
}
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    qDebug()<<"main thread id: "<<QThread::currentThreadId()<<"\n";
    QThread* subThread = new QThread;
    MyThread* my_thread = new MyThread;
    my_thread->moveToThread(thread1);
    my_thread->start();	
    
    qDebug()<<"00000000";
    my_thread->work();
    
    connect(ui->pushButton, &QPushButton::clicked, my_thread, &MyThread::work);
    connect(ui->pushButton, &QPushButton::clicked, this, [=]{
        qDebug()<<"11111111";
    	my_thread->work();
    });
    connect(ui->pushButton, &QPushButton::clicked, my_thread, [=]{
		qDebug()<<"22222222";
        my_thread->work();
    });
}

程序执行结果:

main thread id:  0x1a70 

00000000
MyThread::work1() thread id:  0x1a70 

11111111
MyThread::work1() thread id:  0x1a70 

MyThread::work1() thread id:  0x698 

22222222
MyThread::work1() thread id:  0x698 

请问为何在主窗口中直接调用 my_thread 和
connect(ui->pushButton, &QPushButton::clicked, this, [=]{ my_thread->work(); });都是在主线程中执行,而其他两种调用方式就能正确在子线程中执行?