- 环境配置
- 下载 Qt
- 创建一个项目
- 如何创建画布
本人才疏学浅,有什么错误欢迎指出。感激不尽。 环境配置
为了跨平台使用 Qt + C++来开发。简单的 C++ 特性。不需要高级特性。Qt 带有窗口,不需要去写入文件中来查看渲染结果。
下载 QtQt 下载地址 。下载完之后直接默认下一步就可以了。
安装完成。
最后下一步完成。
可以得到一个窗口。
在这里我们使用 QImage 实现渲染。针对所有需要渲染的数据转成 QImage 来实现渲染。下面是代码。
- 在 MainWindow 添加如下代码。
private:
Ui::MainWindow *ui;
QImage* canvas;
QTimer timer;
- 添加两个函数。
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
public slots:
void render();
private:
void paintEvent(QPaintEvent *) Q_DECL_OVERRIDE;
private:
Ui::MainWindow *ui;
- 去 cpp 文件里面实现。
void MainWindow::paintEvent(QPaintEvent *)
{
if(canvas)
{
QPainter painter(this);
painter.drawImage(0, 0, *(canvas->getCanvas()));
}
// std::cout << 619 << std::endl;
}
void MainWindow::render()
{
// 提供渲染数据 TODO
update();
}
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
int w = 640;
int h = 320;
setFixedSize(w, h);
canvas = new QImage(w, h, QImage::Format_RGBA8888);
unsigned int color = 4284769535;
for(int x = 0; x < w; ++x)
{
for(int y = 0; y < h; ++y)
{
canvas->setPixel(x, y, color);
}
}
connect(&timer, &QTimer::timeout, this, &MainWindow::render);
timer.start(1);
}
运行程序应该会有一个窗口
如果出现这个窗口,可以恭喜你配好环境了。
完毕。
未完待续。。。
返回文章合集



