自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 QObject *parent = 0

在Qt中,当我们创建一个新的QObject对象时,它会自动调用QObject的默认构造函数。而当我们将parent设置为0时,意味着这个对象是完全独立的,它有自己的生命周期,不会被其他对象影响或影响其他对象。总结一下,构造函数(QObject *parent = 0)在Qt中用于创建一个新的QObject对象,并将parent指针设置为0,表示这个对象是独立的,不会受到其他对象的控制。QObject类的构造函数中的parent参数是一个指针,通常被设置为0,表示这个对象没有父对象。

2024-05-14 15:48:55 189 1

原创 QSpinBox

在上面的示例中,我们创建了一个包含 QSpinBox 控件的窗口,并设置了最小值和最大值为 0 到 100。用户可以通过单击箭头按钮或使用键盘导航来选择数值,并在更改数值时触发回调函数。回调函数:QSpinBox 控件允许您设置一个回调函数,当用户更改数值时,该函数将被调用。显示数值:QSpinBox 控件用于显示一个带有刻度的数值输入框,用户可以在其中输入或选择一个整数数值。限制值:QSpinBox 控件允许您设置最小值和最大值,以确保用户只能输入指定范围内的整数数值。

2024-05-14 11:25:08 290 1

原创 slot和signal

signal:在Qt中,信号是一种可以用来触发槽函数的事件。当信号被触发时,它会自动发送给所有连接了该信号的槽函数。Qt中的信号主要有三种类型:信号、槽和自定义信号。这样,每当特定的信号被触发时,相应的槽函数就会被执行。这两个概念的关系可以用一个简单的例子来解释:当你把一个按钮设为可以“响应点击事件”,那么每次点击这个按钮时,就会发出一个信号,同时也会执行一个对应的槽函数(通常是调用某个特定的动作或函数)。在Qt框架中,slot和signal是两种非常重要的概念,它们通常在QObject及其子类中使用。

2024-05-12 19:22:30 161

原创 std::condition_variable

在这个示例中,生产者线程生产数据并通知消费者线程。一旦条件成立(即生产者线程已通知),消费者线程将通过 cv.notify_all() 唤醒其他等待的线程。std::condition_variable 提供了一些成员函数,如 wait()、wait_for()、wait_until(),用于等待条件成立,以及 notify_one() 和 notify_all(),用于通知其他线程。条件变量允许一个或多个线程等待某个条件成立,当条件成立时,其他线程可以通知等待的线程,从而唤醒它们。

2024-05-12 18:48:21 354

原创 std::unique_lock<std::mutex>

在这个示例中,我们首先创建了一个std::unique_lock对象lck,并将其绑定到mtx互斥体上。然后,我们可以在需要同步的代码块中使用互斥体,当代码块执行完毕后,我们使用lck.unlock()方法释放互斥体。std::unique_lock是一个智能指针,它可以管理互斥体的生命周期,确保在某些情况下互斥体能够被正确地释放。// 锁定互斥体 // 在这里执行需要同步的代码 // …// Qt中的互斥体void someFunction() { std::unique_lock。

2024-05-12 18:46:50 317

转载 popen函数

执行完该函数后父进程和子进程之间生成一条管道,函数返回值为FILE结构指针,该指针作为管道的一端,为父进程所拥有。子进程则拥有管道的另一端,该端口为子进程的stdin或者stdout。如果type=r,那么该管道的方向为:子进程的stdout到父进程的FILE指针;如果type=w,那么管道的方向为:父进程的FILE指针到子进程的stdin。功能:创建一个管道,fork一个子进程,接着关闭管道的不使用端,子进程执行cmd指向的应用程序或者命令。返回值:若成功返回文件指针,出错则返回NULL。

2024-05-11 16:31:03 30 1

原创 POSIX 标准库中的条件变量类型

当一个线程完成了某个任务并达到了某个条件时,它可以发出通知,其他等待该条件的线程可以继续执行。pthread_cond_wait(): 用于等待条件变量的信号。pthread_cond_broadcast(): 用于唤醒所有正在等待该条件的线程。pthread_cond_signal(): 用于通知等待条件变量的线程。pthread_cond_init(): 用于初始化条件变量,将其设置为未使用状态。pthread_cond_destroy(): 用于销毁条件变量,释放相关资源。

2024-05-10 15:52:53 170

原创 POSIX 标准库中的互斥锁(mutex)类型

互斥锁的作用是确保同一时间只有一个线程可以访问被保护的资源。当一个线程试图锁定已被其他线程锁定的互斥锁时,它会阻塞直到该互斥锁被解锁。pthread_mutex_unlock(): 用于解锁互斥锁,允许其他线程访问被保护的资源。pthread_mutex_lock(): 用于锁定互斥锁,防止其他线程访问被保护的资源。pthread_mutex_init(): 用于初始化互斥锁,将其设置为未锁定状态。pthread_mutex_destroy(): 用于销毁互斥锁,释放相关资源。

2024-05-10 15:44:56 222

转载 struct timespec详解

它包含了两个long类型的成员变量:tv_sec和tv_nsec。tv_sec表示自1970年1月1日00:00:00 UTC以来的秒数,tv_nsec表示tv_sec之后的纳秒数。上述代码片段中,我们通过将毫秒转换为秒和纳秒来设置ts结构体中的tv_sec和tv_nsec成员变量,然后传递给nanosleep函数实现睡眠。

2024-05-10 12:10:19 810

原创 强制缓存和协商缓存

浏览器再次加载资源时,如果在这个过期时间(以分钟为单位)内,则命中强缓存。

2023-03-16 23:13:48 45

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除