Qt多线程简介
Qt 多线程通过 QThread、QObject、QtConcurrent、QRunnable 等方式实现,支持线程间信号槽通信,适用于异步任务、线程池和并发处理。
Qt 多线程通过 QThread、QObject、QtConcurrent、QRunnable 等方式实现,支持线程间信号槽通信,适用于异步任务、线程池和并发处理。
Qt UI 构建流程包括使用 Qt Designer 创建 .ui 文件,或用 C++ 手动创建控件和布局,并通过信号槽实现交互逻辑。
.ui 文件中 setupUi() 会重设 header,导致构造函数中 setHeaderLabels() 设置被覆盖。
配置环境变量后,用moc、uic、rcc手动生成代码,再用g++编译源文件和生成文件,最后链接生成可执行文件。
constexpr 指定常量表达式,表示变量或函数可在编译期求值,提高效率并保证常量性质。
C++访问控制(public/protected/private)决定成员访问权限;继承方式影响基成员在派生类中的可见性,控制访问范围和重用机制。
std::invoke 用于统一调用任意可调用对象,支持函数、lambda、成员函数指针等,自动匹配调用方式并完美转发参数。
完美转发保留实参的值类别,使函数模板能正确传递左值或右值,通常结合 T&& 和 std::forward 使用。
C++ std::bind 可将函数与部分参数绑定,生成新的可调用对象,实现参数预设、简化调用和延迟执行。
C++ allocator 是内存分配器,负责分配、构造、销毁和释放对象内存,支持自定义内存管理,增强容器灵活性和性能。