当前位置: 首页 > news >正文

c++qt

1.显示画布

#include "code.h"
#include <QtWidgets/QApplication>
#include<iostream>
#include<vector>
#include <QWindow>
#include <QGraphicsView>
#include <QGraphicsScene>using namespace std;//1.空格  2.墙  3.入口  4.终点  5.双入口
/*
1.入口
2.出口
3.出入口
4.下一个任务迷宫
5.没有障碍
6 有障碍
7.玩家位置
*/class Maze {
public:int row, col;//迷宫的行数和列数int layer;//所属层Maze();
};Maze::Maze() {this->row = row;this->col = col;
}class MazeManager { //迷宫管理器
public:int row;//玩家位置int col;//玩家位置MazeManager();vector<Maze> mazes; //存储多个迷宫
};MazeManager::MazeManager() {}class Canvas : public QGraphicsView {
public:Canvas(QWidget* parent = nullptr);private:QGraphicsScene* scene;
};class MainWindow : public QMainWindow
{
public:MainWindow(QWidget* parent = nullptr);void cnavasInit();Canvas* canvas; // 指向 Canvas 的指针
};void MainWindow::cnavasInit() {canvas = new Canvas(this); // 创建 Canvas 对象canvas->setGeometry(50, 50, 800, 800); //     // 设置 Canvas 的绝对位置和大小canvas->show();}Canvas::Canvas(QWidget* parent): QGraphicsView(parent), scene(new QGraphicsScene(this)) {// 设置背景颜色为白色setBackgroundBrush(Qt::white);// 设置场景setScene(scene);setRenderHint(QPainter::Antialiasing); // 开启抗锯齿setSceneRect(0, 0, 800*2, 800*2); // 设置场景大小// 添加一些图形项到场景scene->addRect(50, 50, 200, 100, QPen(Qt::blue), QBrush(Qt::cyan)); // 矩形scene->addEllipse(300, 50, 100, 100, QPen(Qt::red), QBrush(Qt::yellow)); // 椭圆scene->addLine(50, 200, 300, 200, QPen(Qt::green)); // 线条
}MainWindow::MainWindow(QWidget* parent): QMainWindow(parent)
{// 设置主窗口标题setWindowTitle("迷宫");this->resize(1600, 900);
}int main(int argc, char *argv[])
{QApplication a(argc, argv);MainWindow* mainWindow = new MainWindow();mainWindow->cnavasInit(); //显示画布mainWindow->show();return a.exec();
}

2.按钮函数

QString getStyle(int r,int g,int b) {QString styleSheet = QString("QPushButton {""background-color: rgb(%1, %2, %3);""color: black;" // 设置字体颜色为白色"font-weight: bold;" // 设置字体加粗"border: 1px solid black;" // 设置黑色边框,宽度为2像素"border-radius: 8px;" // 设置圆角边框,半径为8像素"}""QPushButton:hover {""background-color: rgb(128, 0, 128);" // 鼠标悬停时为紫色"}""QPushButton:pressed {""background-color: rgb(255, 0, 0);" // 鼠标点击时为红色"}").arg(r).arg(g).arg(b);return styleSheet;
}QPushButton* getButton(QWidget* parent, QString message,int r,int g,int b,int x,int y) {QPushButton* button = new QPushButton(message, parent);button->setGeometry(x, y, 100, 40);QFont font("微软雅黑", 12); // 字体名称和大小button->setFont(font);button->setStyleSheet(getStyle(r,g,b));return button;
}

相关文章:

c++qt

1.显示画布 #include "code.h" #include <QtWidgets/QApplication> #include<iostream> #include<vector> #include <QWindow> #include <QGraphicsView> #include <QGraphicsScene>using namespace std;//1.空格 2.墙 3.入口…...

零跑汽车嵌入式面试题汇总及参考答案

C++ 的三大特性是什么? C++ 的三大特性分别是封装、继承和多态。 封装 概念:封装是把数据和操作数据的函数绑定在一起,对数据的访问进行限制。通过将数据成员声明为私有或保护,只允许通过公共的成员函数来访问和修改数据,从而隐藏了类的内部实现细节。这有助于提高代码的安…...

LC:贪心题解

文章目录 376. 摆动序列 376. 摆动序列 题目链接&#xff1a;https://leetcode.cn/problems/wiggle-subsequence/description/ 这个题目自己首先想到的是动态规划解题&#xff0c;贪心解法真的非常妙&#xff0c;参考下面题解&#xff1a;https://leetcode.cn/problems/wiggle…...

ubuntu交叉编译dbus库给arm平台使用

1.下载dbus库源码 https://www.freedesktop.org/wiki/Software/dbus 克隆源码: https://gitlab.freedesktop.org/dbus/dbus/-/tree/dbus-1.12?ref_type=heads 下载1.12.20版本: 指定pkgconfig环境变量: export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$PWD/../expat-2.3.…...

ansible开局配置-openEuler

ansible干啥用的就不多介绍了&#xff0c;这篇文章主要在说ansible的安装、开局配置、免密登录。 ansible安装 查看系统版本 cat /etc/openEuler-latest输出内容如下&#xff1a; openeulerversionopenEuler-24.03-LTS compiletime2024-05-27-21-31-28 gccversion12.3.1-30.…...

连锁收银系统的优势与挑战

在快速发展的零售环境中&#xff0c;连锁收银系统不仅是收银的工具&#xff0c;更是现代零售管理的重要组成部分。它在提升效率、优化客户体验以及数据管理等方面发挥了关键作用。然而&#xff0c;随着技术的进步和市场环境的变化&#xff0c;连锁收银系统也面临着诸多挑战。本…...

轻型民用无人驾驶航空器安全操控理论培训知识总结-多旋翼部分

航空器知识 螺旋桨 螺旋桨为多旋翼民用无人驾驶航空器提供升力,多旋翼民用无人驾驶航空器通过飞控系统控制电机调节螺旋桨转速,来实现飞行。 天线 多旋翼民用无人驾驶航空器的图像传输以及遥控控制信号,主要是通过无线信道进行的,靠民用无人驾驶航空器与遥控器的天线传…...

springboot092安康旅游网站的设计与实现(论文+源码)_kaic

毕业设计&#xff08;论文&#xff09; 基于JSP的安康旅游网站的设计与实现 姓  名 学  号 院  系 专  业 指导老师 2021 年 月 教务处制 目 录 目 录 摘 要 Abstract 第一章 绪论 1.1 研究现状 1.2 设…...

优化 Git 管理:提升协作效率的最佳实践20241030

优化 Git 管理&#xff1a;提升协作效率的最佳实践 引言 在现代软件开发中&#xff0c;版本控制系统是确保代码质量和团队协作顺畅的基石。Git 作为最流行的分布式版本控制工具&#xff0c;其灵活性和强大功能使得开发者能够高效地管理项目代码。然而&#xff0c;仅依靠工具本…...

Cocos使用精灵组件显示相机内容

Cocos使用精灵组件显示相机内容 1. 为什么使用精灵渲染 在游戏引擎中&#xff0c;游戏场景内除webview和video外所有的节点都是渲染在Canvas上&#xff0c;这导致了webview和video只能存在于所有节点的最上层或最下层&#xff0c;而这种层级关系会出现节点事件无法正常监听或者…...

AListFlutter(手机alist)——一键安装,可在手机/电视上运行并挂载各个网盘

前面提到软路由系统OpenWRT的时候&#xff0c;当时说过可以在OpenWRT里安装alist&#xff0c;然后挂载网盘&#xff0c;这样就可以通过webdav的方式在家庭局域网下的任何设备都可以访问操作这些网盘&#xff0c;摆脱硬盘空间不够的问题。 但alist的官方版本是没有手机版本的&a…...

2024快手面试算法题-生气传染

问题描述 思路分析 生气只会向后传播&#xff0c;最后一个生气的人一定是最长连续没有生气的人中的最后一个人&#xff0c;前提是前面得有一个人生气。 注意&#xff0c;一次只能传播一个人&#xff0c;比如示例1&#xff0c;第一次只会传播给第一个P&#xff0c;不会传播给第…...

组织如何防御日益增加的 API 攻击面

应用程序编程接口 (API) 日益重要。随着 API 超出手动控制范围&#xff0c;组织可能面临更大的安全挑战。 在这里&#xff0c;我们与 Akamai 安全技术战略总监 Karl Mattson 进行了交谈。 请介绍一下您的职位和背景。 我在网络安全和技术领导方面拥有超过 25 年的经验&am…...

如何防止U盘盗取电脑数据?

数据安全无论是对企业还是个人都至关重要。这些用户群体随时面临着数据被窃取的风险&#xff0c;而 U 盘则成为了潜在的安全隐患。如果你想要禁止电脑上使用 这类USB 存储设备&#xff0c;看完这篇文章&#xff0c;防止 U 盘盗取数据并非难事。 禁止使用usb存储设备 打开电脑上…...

python爬虫抓取豆瓣数据教程

环境准备 在开始之前&#xff0c;你需要确保你的Python环境已经安装了以下库&#xff1a; requests&#xff1a;用于发送HTTP请求。BeautifulSoup&#xff1a;用于解析HTML文档。 如果你还没有安装这些库&#xff0c;可以通过以下命令安装&#xff1a; pip install requests…...

Mybatis 注意传递多种参数,不一定都有参数值,用xml如何写出查询语句

Mybatis 注意传递多种参数&#xff0c;不一定都有参数值&#xff0c;用xml如何写出查询语句 有一张User表&#xff0c;传递name和age参数&#xff0c;通过mybatis的xml格式编写查询namelike“%张%”&#xff0c;或者age18的学生信息&#xff0c;但是注意传递name和age参数&…...

【Windows】Redis 部署

1、部署 &#xff08;1&#xff09;下载 目前 Redis官网 没有提供Windows版本的安装程序&#xff0c;如果需要安装&#xff0c;需要到Github上下载适合Windows的版本。 具体下载地址为&#xff1a; Redis-x64-3.0.504.zipRedis-x64-5.0.14.1.zip &#xff08;2&#xff09…...

【经典】Vue中this指向问题??

在Vue中&#xff0c;this关键字的指向取决于this在何处被定义。在Vue的组件方法中&#xff0c;this指向当前组件实例&#xff0c;即Vue的实例。 以下是一些常见场景的this指向示例&#xff1a; 组件方法内部&#xff1a; export default { methods: { someMethod() { …...

Oracle数据泵(expdp)导入导出数据

源数据库操作&#xff08;数据备份&#xff09; 自定义变量 1.查询当前数据库的自定义变量&#xff08;里面包含导出数据文件路径变量配置&#xff0c;即DUMP_DIR&#xff09; select * from dba_directories; 2.若没有配置&#xff0c;则创建一个dump_dir&#xff08;变量…...

得物App 3D球鞋博物馆亮相两博会,打造沉浸式消费新体验

近日&#xff0c;2024中国体育文化博览会、中国体育旅游博览会&#xff08;简称“两博会”&#xff09;在苏州国际展览中心拉开帷幕。得物App携手Apple Vision Pro共同打造的3D球鞋博物馆亮相两博会上海展区&#xff0c;并通过3D技术为观众呈现独特的沉浸式消费新体验。 在3D球…...

Python|GIF 解析与构建(5):手搓截屏和帧率控制

目录 Python&#xff5c;GIF 解析与构建&#xff08;5&#xff09;&#xff1a;手搓截屏和帧率控制 一、引言 二、技术实现&#xff1a;手搓截屏模块 2.1 核心原理 2.2 代码解析&#xff1a;ScreenshotData类 2.2.1 截图函数&#xff1a;capture_screen 三、技术实现&…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我&#xff0c;后续持续新增专题博文&#xff0c;谢谢&#xff01;&#xff01;&#xff01;】 上一篇我们讲了&#xff1a; 这一篇我们开始讲&#xff1a; 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下&#xff1a; 一、场景操作步骤 操作步…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化

缓存架构 代码结构 代码详情 功能点&#xff1a; 多级缓存&#xff0c;先查本地缓存&#xff0c;再查Redis&#xff0c;最后才查数据库热点数据重建逻辑使用分布式锁&#xff0c;二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...

JS手写代码篇----使用Promise封装AJAX请求

15、使用Promise封装AJAX请求 promise就有reject和resolve了&#xff0c;就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...

scikit-learn机器学习

# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...

离线语音识别方案分析

随着人工智能技术的不断发展&#xff0c;语音识别技术也得到了广泛的应用&#xff0c;从智能家居到车载系统&#xff0c;语音识别正在改变我们与设备的交互方式。尤其是离线语音识别&#xff0c;由于其在没有网络连接的情况下仍然能提供稳定、准确的语音处理能力&#xff0c;广…...

Pydantic + Function Calling的结合

1、Pydantic Pydantic 是一个 Python 库&#xff0c;用于数据验证和设置管理&#xff0c;通过 Python 类型注解强制执行数据类型。它广泛用于 API 开发&#xff08;如 FastAPI&#xff09;、配置管理和数据解析&#xff0c;核心功能包括&#xff1a; 数据验证&#xff1a;通过…...

云安全与网络安全:核心区别与协同作用解析

在数字化转型的浪潮中&#xff0c;云安全与网络安全作为信息安全的两大支柱&#xff0c;常被混淆但本质不同。本文将从概念、责任分工、技术手段、威胁类型等维度深入解析两者的差异&#xff0c;并探讨它们的协同作用。 一、核心区别 定义与范围 网络安全&#xff1a;聚焦于保…...

AxureRP-Pro-Beta-Setup_114413.exe (6.0.0.2887)

Name&#xff1a;3ddown Serial&#xff1a;FiCGEezgdGoYILo8U/2MFyCWj0jZoJc/sziRRj2/ENvtEq7w1RH97k5MWctqVHA 注册用户名&#xff1a;Axure 序列号&#xff1a;8t3Yk/zu4cX601/seX6wBZgYRVj/lkC2PICCdO4sFKCCLx8mcCnccoylVb40lP...