对于实验,我想创建一个简单的图形应用程序。
我的目标并不复杂:我只需要绘制单个像素或不同颜色的线条,并定期刷新视图。类似于Conway's Game of Life。
我习惯与Qt
合作,但从未接受过这类任务。
我应该使用哪些小部件/对象来开始使用?我应该知道/做什么特别的事情吗?
谢谢。
答案 0 :(得分:2)
我建议使用“图形视图”框架 http://doc.trolltech.com/4.6/graphicsview.html
它非常强大,远远超过你的需要。
简单地说,对于生命游戏中的生物,创建图形项并为它们设置坐标。没什么。
答案 1 :(得分:1)
使用QTableView
实现自己的QAbstractItemDelegate
子类来绘制单元格。看看the Pixelator example。
答案 2 :(得分:1)
对于简单的像素和线条绘制,您可能希望实现一个基本的QWidget子类并实现paintEvent()。在那里你会做你的绘画
<强> MyWidget.h:强>
#ifndef MYWIDGET_H
#define MYWIDGET_H
#include <QWidget>
class MyWidget : public QWidget
{
Q_OBJECT
public:
MyWidget(QWidget *parent = 0);
protected:
void paintEvent(QPaintEvent *event);
};
#endif
<强> MyWidget.cpp:强>
#include <QtGui>
#include "MyWidget.h"
MyWidget::MyWidget(QWidget *parent)
: QWidget(parent)
{
}
void MyWidget::MyWidget(QPaintEvent * /* event */)
{
QPainter painter(this);
// Then do things like..
painter.drawLine(...
painter.drawRect(...
}
您可以在此处找到更完整的示例:http://doc.qt.nokia.com/4.6/painting-basicdrawing.html