avatar
Articles
415
Tags
259
Categories
26

Theqiqi_blog
Search

Theqiqi_blog

2.ray实现搜索框架
Created2024-03-28|graphi_with_draw|C++•raylib•graphi
在 raylib 中实现搜索框,主要需要解决三个问题:键盘输入捕捉、光标闪烁动画、以及文本溢出处理。 1. 核心逻辑:即时模式输入搜索框的本质是一个字符串。每一帧,你都要检查键盘是否有按键被按下,并将其追加到字符串末尾。 2. 代码实现示例这段代码演示了如何创建一个带圆角阴影、支持退格键(Backspace)和动态光标的现代搜索框。 C++ 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586#include "raylib.h"#include <string.h>int main() { InitWindow(800, 450, "Raylib Search Box"); // 搜索框状态 char inputText[64] = & ...
1.ray实现桌面挂件
Created2024-03-28|graphi_with_draw|C++•raylib•graphi
实现一个现代桌面挂件的代码。它具备以下特性: 无边框与全透明:图片像直接贴在桌面上一样。 鼠标拖动:因为去掉了系统边框,我们手动实现点击图片即可拖拽。 圆角处理:利用 Shader 实时裁剪图片为圆角。 置顶显示:永远浮在其他窗口上方。 1. 准备工作请确保目录下有一张名为 image.png 的图片,并创建一个 mask.fs 文件用于圆角裁剪: mask.fs (圆角裁剪着色器) OpenGL Shading Language 123456789101112131415#version 330in vec2 fragTexCoord;out vec4 finalColor;uniform sampler2D texture0;uniform float roundness; // 0.0 到 0.5void main() { vec2 p = fragTexCoord - vec2(0.5); vec2 q = abs(p) - vec2(0.5 - roundness); float dist = length(max(q, 0.0)) + min ...
13.linux下使用cmake与preset构建cpp项目
Created2024-03-04|cmake|cmake•C++•linux
.linux下使用cmake与preset构建cpp项目1.main.cpp12345678910111213#include <iostream>int main(){ auto lang = "C++"; std::cout << "Hello and welcome to " << lang << "!\n"; for (int i = 1; i <= 5; i++) { std::cout << "i = " << i << std::endl; } return 0;} CMakeLists.txt12345678910111213cmake_minimum_required(VERSION 3.31)project(preset1 VERSION 0.1 LANGUAGES CXX C)set(CMAKE_CXX_STAN ...
12.使用cmake构建vcpkg管理的opencv库
Created2024-03-04|cmake|cmake•C++•opencv•vcpkg
1.使用vcpkg安装opencv库1./vcpkg install opencv:x64-windows --head --clean-after-build 2.在cmake中引入vcpkg管理的qt6静态库1.main.cpp12345678910#include <QCoreApplication>int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); qDebug("hello,world\n"); qDebug() << "hi:" << "see you"; return a.exec();} 2.cmakelists.txt1234567891011121314151617181920212223242526272829303132cmake_minimum_required(VERSION 3.16)# 移除或修改三元组:改为动态版本 x64- ...
11.cmake使用ninja配合配置构建qt程序
Created2024-03-04|cmake|cmake•C++•Qt6•GUI•Ninja
cmake使用ninja配合配置构建qt程序1.控制台程序1.src/main.cpp1234567891011#include <QCoreApplication>#include <qDebug>int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); qDebug("hello,world\n"); qDebug() << "hi:" << "see you"; return a.exec();} 2.CMakeLists.txt123456789101112131415161718192021222324252627282930cmake_minimum_required(VERSION 3.24.0)# 设置项目名称和版本project(MyQtApp VERSION 0.1 LANGUAGES CXX)#系统变量中没有Qt目录需要添加路径o ...
10.cmake使用不同编译器
Created2024-03-04|cmake|cmake•c•compile
使用不同编译器强制使用命令行选择编译器123456789101112131415161718# 强制使用 Clangcmake -S . -B build -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang# 强制使用 GCC (确保已经在环境变量中)cmake -G "MinGW Makefiles" -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++# 强制使用 msvc# 方式 A:使用默认的 Visual Studio 生成器(生成 .sln 工程)cmake -S . -B build_msvc -G "Visual Studio 17 2022" -A x64# 方式 B:使用 Ninja 生成器(更推荐,速度更快,但需要进入“开发者命令提示符”)cmake -G "Ninja" -S . -B build_msvc -DCMAKE_C_COMPILER=cl.exe -DCMAKE_CXX_COMPILER=cl.ex ...
9.cmake编译静态库与动态库
Created2024-03-04|cmake|cmake•c•lib
1使用cmake编译静态库项目结构12345678910111213│ CMakeLists.txt│├─out│ └─build│ └─x64-debug├─ProjectA│ CMaKeLists.txt│ main.cpp│└─ProjectB_lib CMakeLists.txt ProjectB.cpp ProjectB.h 根目录文件CMakeLists.txt1234567891011121314151617181920cmake_minimum_required(VERSION 3.15)project(MultiProjectSolution)# --- 1. MSVC 特殊优化配置 ---if (MSVC) # 开启多核并行编译 add_compile_options(/MP) # 智能调试信息格式策略 (CMP0141) if (POLICY CMP0141) cmake_policy(SET CMP0141 NEW) set( ...
8.cmake使用vcpkg在vs2022中链接gtest库
Created2024-03-04|cmake|cmake•c•raylib
gtest在vs2022中使用cmake添加vcpkg管理的gtest库1.在CMakePresets.json中添加配置 123"cacheVariables": { "CMAKE_TOOLCHAIN_FILE": "C:/D/test/CC++/cc++lib/vcpkg/vcpkg/scripts/buildsystems/vcpkg.cmake"} 项目结构1234567891011121314151617181920│ CMakeLists.txt│ CMakePresets.json│├─CMakeProject2│ CMakeLists.txt│ CMakeProject2.cpp│ MyClass.cpp│ MyClass.h│├─CMakeProject3│ CMakeLists.txt│ CMakeProject3.cpp│├─out│ └─build└─unit_tests CMakeLists.txt ...
7.cmake使用vcpkg链接gtest库
Created2024-03-04|cmake|cmake•c•gtest
gtest1.windows上使用vcpkg下载gtest动态库与静态库1.gtest动态库1.\vcpkg.exe install gtest:x64-windows 2.下载安装git bash环境2.cmake使用vcpkg管理的gtest库1.项目结构1234│ build.sh│ CMakeLists.txt│ test_example.cpp 2.test_example.cpp123456789101112131415161718192021222324252627282930313233343536#include <gtest/gtest.h>#include <iostream>// 对应 TEST_MODULE_INITIALIZE:GTest 使用全局环境或简单的函数// 如果只是打印,可以直接在测试用例里写,或者使用下面的全局环境class MyEnvironment : public ::testing::Environment {public: void SetUp() override { ...
6.cmake使用vcpkg管理的raylib库
Created2024-03-04|cmake|cmake•c•raylib
raylib1.windows上使用vcpkg下载raylib动态库与静态库1.raylib动态库1vcpkg install raylib:x64-windows 2.raylib静态库1vcpkg install raylib:x64-windows-static 3.raygui库1vcpkg install raygui:x64-windows-static 4.安装最新版而非稳定版123456789git -C /c/D/test/CC++/cc++lib/vcpkg/vcpkg pull# 1. 先卸载旧版本(防止链接冲突)./vcpkg remove raylib:x64-windows# 2. 安装最新的开发版 --head 参数会尝试下载最新的 master 分支./vcpkg install raylib:x64-windows --head# 3. 重新集成(可选,通常不需要再次执行,但执行一下更稳)./vcpkg integrate install 5.下载安装git bash环境1.cmake使用vcpkg管理的raylib库1.项目结构12345 ...
1…353637…42
avatar
Theqiqi
Articles
415
Tags
259
Categories
26
Follow Me
Announcement
This is my Blog
Recent Post
03-反馈流2026-08-21
02-错误流2026-08-21
01-控制流2026-08-20
05-多系统协作的十条流2026-08-19
04-多层系统的十条流2026-08-18
Categories
  • C with Socks16
  • C_Sound10
  • C_Windows_Graphi9
  • Cpp5
  • Cpp_Socket4
  • C语言在Windows中实现抓包4
  • C语言的万种用法9
  • Debian1
Tags
十阶段 接口先行 Qt主题架构 WindowsDriver python 从输入到交互 select LinuxDriver 入口系统 UDP服务器与可靠性 微服务与组装边界 DLL javascript 多系统组成的网络通信软件 Piano 拆解资源 游戏类型演化 Kali 建模与逆向 BSD Sockets x86汇编程序 IPV4 Drvier 认知能力分解 技术流 qemu Ninja 业务流程到功能点 用头文件验证依赖 引擎组装 Sound 从状态到系统 epoll QEMU 依赖接口 shell 依赖关系 Graphi 拆解美术 只有组件的子系统如何被加载
Archives
  • August 2026128
  • January 20261
  • April 20251
  • March 202595
  • February 202523
  • September 20242
  • August 202471
  • June 20242
Info
Article :
415
UV :
PV :
Last Update :
©2020 - 2026 By Theqiqi
Framework Hexo|Theme Butterfly
Search
Loading the Database