忍者ブログ

Cyber Bird

   

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Tutorial: TextFinder





とりあえず、Qt Creatorに内蔵されていたチュートリアルをやってみることにした。
"Creating a Qt Widget Based Application"というのがあったのでそれにしてみた。
こちらがWeb版のチュートリアルです。一応載せておく。
Qt Creator : Creating a Qt Widget Based Application

では続きからどうぞ。

とりあえず、ソースコードを載せてみる。
勿論、"基本的に"チュートリアル通りなのであまり意味はないかもしれないけど。

~~textfinder.cpp~~
#include <QtCore/QFile>
#include <QtCore/QTextStream>
#include <QTextCursor>

#include "textfinder.h"
#include "ui_textfinder.h"

TextFinder::TextFinder(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::TextFinder)
{
    ui->setupUi(this);
    loadTextFile();
}

TextFinder::~TextFinder()
{
    delete ui;
}

void TextFinder::loadTextFile()
{
    QFile inputFile(":/input.txt");
    inputFile.open(QIODevice::ReadOnly);

    QTextStream in(&inputFile);
    QString line = in.readAll();
    inputFile.close();

    ui->textEdit->setPlainText(line);
    QTextCursor cursor = ui->textEdit->textCursor();
    cursor.movePosition(QTextCursor::Start, QTextCursor::MoveAnchor, 1);
}

void TextFinder::on_findButton_clicked()
{
    QString searchString = ui->lineEdit->text();
    ui->textEdit->find(searchString, QTextDocument::FindWholeWords);
}

~textfinder.h~
#ifndef TEXTFINDER_H
#define TEXTFINDER_H

#include <QWidget>

namespace Ui {
class TextFinder;
}

class TextFinder : public QWidget
{
    Q_OBJECT
    
public:
    explicit TextFinder(QWidget *parent = 0);
    ~TextFinder();
    
private slots:
    void on_findButton_clicked();

private:
    Ui::TextFinder *ui;
    void loadTextFile();
};

#endif // TEXTFINDER_H

main.cppはテンプレートのまんま。



チュートリアルは、ちゃんとプロジェクトの作り方までご丁寧に説明していたので、
こんな初心者にはとてもありがたかった^^;
大体、いきなりソースだけポンと載せられて、「どうやってビルドすんのよ…(´・ω・`)」って
なるパターンなんだけどね。


まずはデザイナーを使ってインターフェイスを整える。
どこかの会社のVisualなんとかってやつと比べると、レイアウト管理ができてとてもいい。

で、まあソースコードもチュートリアル通り手打ちしていったけど、ひとつ。
Completing the Source Fileのここ。

To use QFile and QTextStream, add the following #includes to textfinder.cpp: #include <QtCore/QFile>
#include <QtCore/QTextStream>
 
ソースを見てもらえばわかるけど、TextEdit内でカーソル位置を動かすために
QTextCursorクラスを使ってる。
まあ文字通り、カーソル位置を取得したり、セットできるクラス。
これを使うためには、<QTextCursor>をインクルードしておかなきゃなんない。
てわけで、一緒にこの一行も。

#include <QTextCursor>

あとはチュートリアルの説明どおりかな。
リソースファイルで追加したinput.txtに適当なテキストでも入れておけばオッケー。

このままだと味気ないので、また今度いじるかも。
PR

COMMENT

NAME
TITLE
MAIL(非公開)
URL
EMOJI
Vodafone絵文字 i-mode絵文字 Ezweb絵文字
COMMENT
PASS(コメント編集に必須です)
SECRET
管理人のみ閲覧できます

TRACKBACK

Trackback URL:

ブログ内検索

プロフィール

HN:
levelfour
性別:
男性
自己紹介:
ぼちぼち更新を再開する予定です。

twitter

最新コメント

[09/27 菜々氏]
[06/17 NONAME]
[04/30 mithril]
[04/29 Liva]
[01/30 NONAME]

最新トラックバック

コガネモチ

Copyright ©  -- Cyber Bird --  All Rights Reserved
Design by CriCri / Photo by Geralt / powered by NINJA TOOLS / 忍者ブログ / [PR]