小编Moh*_*ani的帖子

Qt - 从c ++线程发出信号

我想从Qt中的C++线程(std :: thread)发出信号.

我该怎么做?

c++ qt signals-slots emit stdthread

13
推荐指数
2
解决办法
9216
查看次数

Qt - 等待Qprocess完成

我正在使用CMD,QProcess但我遇到了问题.

我的代码:

QProcess process;
process.start("cmd.exe");
process.write ("del f:\\b.txt\n\r");
process.waitForFinished();
process.close();
Run Code Online (Sandbox Code Playgroud)

当我没有通过争论时,waitForFinished()等待30秒.我想QProcess在执行CMD命令后终止!不多也不少!

qt command-prompt qprocess

6
推荐指数
2
解决办法
9718
查看次数

稍后创建QScopedPointer的实例

例如,这是我的代码

QScopedPointer<QTimer> timer2(new QTimer);
Run Code Online (Sandbox Code Playgroud)

但我想定义

QScopedPointer<QTimer> timer2; 
Run Code Online (Sandbox Code Playgroud)

在mainwindow.h中创建一个实例

timer2(new QTimer);
Run Code Online (Sandbox Code Playgroud)

在mainwindow.cpp中

怎么样?

qt pointers qscopedpointer

4
推荐指数
1
解决办法
2054
查看次数

如何清除QListView的所有项目

我搜索了很多但我无法理解如何清除所有项目QListView

我曾经QStringListModelQStringList填充它.

qt clear qlistview

4
推荐指数
1
解决办法
7042
查看次数

std :: thread消耗Qt中的所有CPU

我有一个功能.在我的函数中有一个c ++线程和一个Qtimer.通过c ++线程我收到ARP回复数据包,并通过QTimer我发送ARP请求数据包.

简化结构:

int foo()
{
... some codes ...

    QTimer::singleShot(1000, this, SLOT(beginSending()));

    std::thread tCapture(Capture);
    tCapture.join();

    return 0;
}

void Capture()
{
   while  ( ! finishCapturing )
   {
      do sth
   }
}
Run Code Online (Sandbox Code Playgroud)

tCapture线程中我有一个使用所有CPU的while循环并且Qtimer不起作用!
我使用.join()是因为我想等待线程完成.
当我finishCapturing在Qtimer插槽中设置标志时,线程将完成.

上面的代码无法正常工作,因为c ++线程占用了所有CPU!

问题是什么?

非常感谢.雅阿里

c++ cpu qt multithreading stdthread

1
推荐指数
1
解决办法
254
查看次数

最新选择的目录作为QFileDialog中的默认目录

如何将最新选择的目录设置为QFileDialog中的默认目录?

directory qt qfiledialog

0
推荐指数
1
解决办法
844
查看次数