Hatena::ブログ(Diary)

はけの徒然日記 このページをアンテナに追加 RSSフィード

2005 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 04 | 05 | 08 | 09 | 10 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 10 | 11 |
2011 | 01 | 02 | 03 | 04 | 11 | 12 |
2012 | 02 | 03 | 05 |
2014 | 02 | 03 | 04 | 05 | 12 |
2015 | 05 | 07 | 08 | 09 | 10 | 11 | 12 |
2016 | 01 | 02 | 04 | 05 | 08 | 09 | 11 | 12 |
2017 | 01 | 02 | 03 | 04 | 05 | 06 |

2006-05-03(Wed)

C++でQTアプリ(その6) イベント処理

予め用意されているイベントに処理を追加。下のプログラムでは画面をペンでタップすると文字を表示する。

クラスQMultiLineEditを継承して新たにEditというクラスを作成、ここでmousePressEventの処理で“mousePressEvent発生”の文字を挿入するようにしている。ちなみにmousePressEventは、QMultiLineEditの継承を遡ってQWidgetにあるイベントである。ヘッダーファイルでの宣言にvirtualがくっついているのはリファレンスのProtected Membersで書かれていたのでそのとおりにした、理由は不明。


event.h
#ifndef EVENT_H
#define EVENT_H

#include <qmainwindow.h>
#include <qmultilineedit.h>

class Event : public QMainWindow{
	Q_OBJECT
public:
	Event(QWidget *parent = 0, const char *name = 0);
//	~Event();
private:
	QMultiLineEdit *eb;
};


class Edit : public QMultiLineEdit{
	Q_OBJECT
public:
	Edit(QWidget *parent = 0, const char *name = 0);
//	~Edit();
protected:
	virtual void mousePressEvent( QMouseEvent * );
};

#endif

event.cpp
#include "event.h"

Event::Event(QWidget *parent, const char *name)
		: QMainWindow(parent, name)
{
	setCaption("Event Test");

	eb = new Edit( this );
	setCentralWidget( eb );
	eb->clear();
}


// QMultiLineEditを継承
Edit::Edit(QWidget *parent, const char *name)
		: QMultiLineEdit(parent, name)
{}

// 画面タップ時の処理
void Edit::mousePressEvent( QMouseEvent * )
{
	insertLine( tr("mousePressEvent発生"));
}

投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/hake/20060503/p1