大阪市中央区 システムソフトウェア開発会社

営業時間:平日09:15〜18:15
MENU

Qtで作ってみた・・アナログ時計 其の1 画像の取得

著者:川上洋
公開日:2020/03/13
最終更新日:2020/03/18
カテゴリー:技術情報 雑記

こんにちは。川上です。

以前に、テスト的にスキルUpしたく作ったSwift,Kotli,VC++(MFC)でのアナログ時計Prjの感じを、Qtで作ってみよう。。っての事でした。

初めてのQtでやってみた「画像と文字の表示」のは・じ・ま・り。。

当初、
・ QGraphicsView + QGraphicsScene
で、アナログ時計の背景画像と数文字を表示してみました。

1.FormsQGraphicsViewを貼り付け。

2 QGraphicsView + QGraphicsScene を使えれるように、巷の浮き葦草の知識より、

ー mainwindow.hー

private:
    Ui::MainWindow *ui;
    QGraphicsScene Scene_;

を記述後、画像用メンバ変数を追記。

   
    QImage baseImage;       // -- 底面画像
    QImage l_HariImage;     // -- 長針画像
    QImage s_HariImage;     // -- 短針画像
    QImage byo_HariImage;   // -- 秒針画像

3.画像用メンバ変数に画像の読み込み
ー mainwindow.cpp ー

   
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);


    // --- Clock Init --
    makeClockBaseSetting();

}

void MainWindow::makeClockBaseSetting()
{
    QSize sz = ui->graphicsView->frameSize();
    // -- Imageの縦横サイズ
    int bsWorH =  (sz.width() > sz.height() ? sz.height() : sz.width() - 20);
    int width=bsWorH,height=bsWorH;

    QString = strPath =":/new/prefix1/base_tokei.png";
    baseImage = QImage (width,height,QImage::Format_ARGB32);
    baseImage.load(strPath);

    strPath =":/new/prefix1/long_hari.png";
    l_HariImage = QImage (width,height,QImage::Format_ARGB32);
    l_HariImage.load(strPath);

    strPath =":/new/prefix1/short_hari.png";
    s_HariImage = QImage (width,height,QImage::Format_ARGB32);
    s_HariImage.load(strPath);

    strPath =":/new/prefix1/byo_hari.png";
    byo_HariImage = QImage (width,height,QImage::Format_ARGB32);
    byo_HariImage.load(strPath);
}

でした。

で最終的には、ぬかるみの道の彷徨いの末、一応、iPhone,Mac,Windows上での同一の動作が確認出来、こんなんになりますw。

ではでは。

    上に戻る