Created
September 21, 2011 08:32
-
-
Save opamp/1231571 to your computer and use it in GitHub Desktop.
QML練習0
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/**************************************************************************** | |
** | |
http://d.hatena.ne.jp/opamp_sando/20110921/1316594257 | |
** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). | |
** All rights reserved. | |
** Contact: Nokia Corporation (qt-info@nokia.com) | |
** | |
** This file is part of the examples of the Qt Toolkit. | |
** | |
** $QT_BEGIN_LICENSE:BSD$ | |
** You may use this file under the terms of the BSD license as follows: | |
** | |
** "Redistribution and use in source and binary forms, with or without | |
** modification, are permitted provided that the following conditions are | |
** met: | |
** * Redistributions of source code must retain the above copyright | |
** notice, this list of conditions and the following disclaimer. | |
** * Redistributions in binary form must reproduce the above copyright | |
** notice, this list of conditions and the following disclaimer in | |
** the documentation and/or other materials provided with the | |
** distribution. | |
** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor | |
** the names of its contributors may be used to endorse or promote | |
** products derived from this software without specific prior written | |
** permission. | |
** | |
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | |
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | |
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | |
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | |
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | |
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | |
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | |
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." | |
** $QT_END_LICENSE$ | |
** | |
****************************************************************************/ | |
import Charts 1.0 | |
import QtQuick 1.0 | |
Item { | |
width: 300; height: 200 //Window size. | |
PieChart { //C++で定義したPieChartを使える | |
id: aPieChart | |
anchors.centerIn: parent //? | |
width: 100; height: 100 //図形の描画サイズ | |
name: "A simple pie chart" | |
color: "blue" //color | |
} | |
PieChart { //このようにidさえかぶらなければいくつでも使える | |
id: bPieChart | |
anchors.centerIn: parent //? | |
width: 150; height: 150 | |
name: "A simple pie chart" | |
color: "red" //color | |
} | |
Text { | |
anchors { bottom: parent.bottom; horizontalCenter: parent.horizontalCenter; bottomMargin: 20 } | |
text: aPieChart.name | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/**************************************************************************** | |
http://doc.trolltech.com/4.7/declarative-tutorials-extending-chapter1-basics.html | |
ここのコードを若干改造してコメントを入れたもの。 | |
** | |
** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). | |
** All rights reserved. | |
** Contact: Nokia Corporation (qt-info@nokia.com) | |
** | |
** This file is part of the documentation of the Qt Toolkit. | |
** | |
** $QT_BEGIN_LICENSE:BSD$ | |
** You may use this file under the terms of the BSD license as follows: | |
** | |
** "Redistribution and use in source and binary forms, with or without | |
** modification, are permitted provided that the following conditions are | |
** met: | |
** * Redistributions of source code must retain the above copyright | |
** notice, this list of conditions and the following disclaimer. | |
** * Redistributions in binary form must reproduce the above copyright | |
** notice, this list of conditions and the following disclaimer in | |
** the documentation and/or other materials provided with the | |
** distribution. | |
** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor | |
** the names of its contributors may be used to endorse or promote | |
** products derived from this software without specific prior written | |
** permission. | |
** | |
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | |
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | |
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | |
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | |
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | |
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | |
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | |
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." | |
** $QT_END_LICENSE$ | |
** | |
****************************************************************************/ | |
#include "piechart.hpp" | |
#include <qdeclarative.h> | |
#include <QDeclarativeView> | |
#include <QApplication> | |
int main(int argc, char *argv[]) | |
{ | |
QApplication app(argc, argv); | |
qmlRegisterType<PieChart>("Charts", 1, 0, "PieChart"); //import文のなんらかの役割か? | |
//PieCharをqmlからChart 1.0 という名前で呼び出せるようにする? | |
QDeclarativeView view; //このへんはまあviewですよね | |
view.setSource(QUrl::fromLocalFile("/path/to/testqml/app.qml")); //DLして実行する祭には書き換え必要 | |
view.show(); | |
return app.exec(); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/**************************************************************************** | |
** | |
** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). | |
** All rights reserved. | |
** Contact: Nokia Corporation (qt-info@nokia.com) | |
** | |
** This file is part of the documentation of the Qt Toolkit. | |
** | |
** $QT_BEGIN_LICENSE:BSD$ | |
** You may use this file under the terms of the BSD license as follows: | |
** | |
** "Redistribution and use in source and binary forms, with or without | |
** modification, are permitted provided that the following conditions are | |
** met: | |
** * Redistributions of source code must retain the above copyright | |
** notice, this list of conditions and the following disclaimer. | |
** * Redistributions in binary form must reproduce the above copyright | |
** notice, this list of conditions and the following disclaimer in | |
** the documentation and/or other materials provided with the | |
** distribution. | |
** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor | |
** the names of its contributors may be used to endorse or promote | |
** products derived from this software without specific prior written | |
** permission. | |
** | |
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | |
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | |
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | |
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | |
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | |
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | |
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | |
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." | |
** $QT_END_LICENSE$ | |
** | |
****************************************************************************/ | |
#include "piechart.hpp" | |
#include <QPainter> | |
PieChart::PieChart(QDeclarativeItem *parent) | |
: QDeclarativeItem(parent) | |
{ | |
// need to disable this flag to draw inside a QDeclarativeItem | |
setFlag(QGraphicsItem::ItemHasNoContents, false); | |
} | |
QString PieChart::name() const | |
{ | |
return m_name; | |
} | |
void PieChart::setName(const QString &name) | |
{ | |
m_name = name; | |
} | |
QColor PieChart::color() const | |
{ | |
return m_color; | |
} | |
void PieChart::setColor(const QColor &color) | |
{ | |
m_color = color; | |
} | |
void PieChart::paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *) | |
{ | |
QPen pen(m_color, 2); //色と線の太さ | |
painter->setPen(pen); | |
painter->setRenderHints(QPainter::Antialiasing, true); | |
painter->drawPie(boundingRect(), 90 * 16, 290 * 16); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/**************************************************************************** | |
** | |
** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). | |
** All rights reserved. | |
** Contact: Nokia Corporation (qt-info@nokia.com) | |
** | |
** This file is part of the documentation of the Qt Toolkit. | |
** | |
** $QT_BEGIN_LICENSE:BSD$ | |
** You may use this file under the terms of the BSD license as follows: | |
** | |
** "Redistribution and use in source and binary forms, with or without | |
** modification, are permitted provided that the following conditions are | |
** met: | |
** * Redistributions of source code must retain the above copyright | |
** notice, this list of conditions and the following disclaimer. | |
** * Redistributions in binary form must reproduce the above copyright | |
** notice, this list of conditions and the following disclaimer in | |
** the documentation and/or other materials provided with the | |
** distribution. | |
** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor | |
** the names of its contributors may be used to endorse or promote | |
** products derived from this software without specific prior written | |
** permission. | |
** | |
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | |
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | |
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | |
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | |
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | |
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | |
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | |
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." | |
** $QT_END_LICENSE$ | |
** | |
****************************************************************************/ | |
#ifndef PIECHART_H | |
#define PIECHART_H | |
#include <QDeclarativeItem> | |
#include <QColor> | |
class PieChart : public QDeclarativeItem | |
{ | |
Q_OBJECT | |
Q_PROPERTY(QString name READ name WRITE setName)//qmlファイルのnameの値をsetNameに渡してる | |
Q_PROPERTY(QColor color READ color WRITE setColor) //qmlのcolorの値をsetColorに渡してる | |
public: | |
PieChart(QDeclarativeItem *parent = 0); | |
QString name() const; | |
void setName(const QString &name); | |
QColor color() const; | |
void setColor(const QColor &color); | |
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0); | |
private: | |
QString m_name; | |
QColor m_color; | |
}; | |
#endif // PIECHART_H |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
QT += declarative | |
SOURCES += ¥ | |
main.cpp ¥ | |
piechart.cpp | |
HEADERS += ¥ | |
piechart.hpp | |
OTHER_FILES += ¥ | |
app.qml |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment