簡體   English   中英

哪些Qt窗口小部件可用來繪制類似“生活游戲”的應用程序?

[英]What Qt widgets to use to draw a “game-of-life”-like application?

為了進行實驗,我想創建一個簡單的圖形應用程序。

我的目標並不復雜:我只需要繪制單個像素或不同顏色的線,並定期刷新視圖即可。 像是Conway的《人生游戲》

我曾經和Qt一起工作過,但是從來沒有做過這樣的事情。

我應該使用哪些小部件/對象開始使用? 我有什么特別的事情要知道嗎?

謝謝。

我建議使用“圖形視圖”框架http://doc.trolltech.com/4.6/graphicsview.html

它非常強大,遠遠超出了您的需要。

簡單來說,對於生命游戲中的生物,創建圖形項並為其設置坐標。 而已。

使用QTableView在其中實現自己的QAbstractItemDelegate子類以繪制單元格。 看一下Pixelator示例

對於簡單的像素和線條畫,您可能需要實現基本的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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM