Qt版本中国象棋开发(二)
2024-10-09 03:03:02
实现功能:棋盘绘制
核心函数:
void paintEvent(QPaintEvent *); //QWidget自带的虚函数,重写后使用 QPainter 类来绘制图形
QPainter painter(this); //QPainter 相当于画笔
painter.drawLine(QPoint(x, y), QPoint(x, y)); //drawLine(QPoint(x, y), QPoint(x, y))画直线 核心代码:
void Board::paintEvent(QPaintEvent *)
{
QPainter painter(this);
int d = ;
// 画10横线
for(int i=; i<=; ++i)
{
painter.drawLine(QPoint(d, i*d), QPoint(*d, i*d));
}
// 画9竖线
for(int i=; i<=; ++i)
{
if(i== || i==)
painter.drawLine(QPoint(i*d, d), QPoint(i*d, *d));
else
{
painter.drawLine(QPoint(i*d, d), QPoint(i*d, *d));
painter.drawLine(QPoint(i*d, *d), QPoint(i*d, *d));
}
} // 九宫格
painter.drawLine(QPoint(*d, *d), QPoint(*d, *d));
painter.drawLine(QPoint(*d, *d), QPoint(*d, *d)); painter.drawLine(QPoint(*d, *d), QPoint(*d, *d));
painter.drawLine(QPoint(*d, *d), QPoint(*d, *d)); }
效果图:
最新文章
- 使用免费组件view pdf 文档
- Hadoop深入浅出实战经典–第02讲
- 日期时间组件 - layui.laydate
- Uva 11542 乘积是平方数
- jQuery 1.9 .live() is not a function
- WAF绕过小结
- WCF 无法激活服务,因为它不支持 ASP.NET 兼容性。已为此应用程序启用了 ASP.NET 兼容性
- (一)Memcached初学教程之安装服务篇(Windows下)
- windowsphone 中CollectionViewSource和ObservableCollection的使用
- MVC 中使用uploadify上传图片遇到的蛋疼问题
- Enze frist day
- 201521123064 《Java程序设计》第11周学习总结
- 支持向量机SVM(Support Vector Machine)
- 关于JQuery全选/反选第二次失效的问题
- jQuery EasyUI window窗口使用实例
- SQL Server等待
- 黄聪:AngularJS最理想开发工具WebStorm
- PAT A1103 Integer Factorization (30 分)——dfs,递归
- 仿迅雷播放器教程 -- C++ 100款开源界面库 (10)
- 前端之html的常用标签2和css基本使用