Qyoto (Qt) を用いたウィジェットを紹介していきますが、まだ Qt の Signal/Slot の理解が十分ではないので、今回は文字を表示するだけのラベルを紹介します。
Fedora 20 における Mono / Qyoto の開発環境の主要なパッケージは、前回と同じく以下の通りです。
- mono-core-3.4.0-2.fc20.x86_64
- qt-4.8.6-5.fc20.x86_64
- qyoto-4.12.5-1.fc20.x86_64
- qyoto-devel-4.12.5-1.fc20.x86_64
ラベル
ラベル QLabel は、文字列(あるいは画像)を表示するウィジェットです。
List: label.cs
using System;
using Qyoto;
/**
* ZetCode Qyoto C# tutorial
*
* This program uses QLabel to
* show lyrics of a song.
*
* @author Jan Bodnar
* website zetcode.com
* last modified October 2012
*
* modified by Fuhito Suguri
* laste modified 24-May-2014
*/
public class QyotoApp : QWidget
{
public QyotoApp ()
{
WindowTitle = "雨ニモマケズ";
InitUI ();
Move (100, 100);
Show ();
}
public void InitUI ()
{
string text = @"雨ニモマケズ
風ニモマケズ
雪ニモ夏ノ暑サニモマケヌ
丈夫ナカラダヲモチ
慾ハナク
決シテ瞋ラズ
イツモシヅカニワラッテヰル
一日ニ玄米四合ト
味噌ト少シノ野菜ヲタベ
アラユルコトヲ
ジブンヲカンジョウニ入レズニ
ヨクミキキシワカリ
ソシテワスレズ
野原ノ松ノ林ノ蔭ノ
小サナ萓ブキノ小屋ニヰテ
東ニ病気ノコドモアレバ
行ッテ看病シテヤリ
西ニツカレタ母アレバ
行ッテソノ稲ノ朿ヲ負ヒ
南ニ死ニサウナ人アレバ
行ッテコハガラナクテモイヽトイヒ
北ニケンクヮヤソショウガアレバ
ツマラナイカラヤメロトイヒ
ヒドリノトキハナミダヲナガシ
サムサノナツハオロオロアルキ
ミンナニデクノボートヨバレ
ホメラレモセズ
クニモサレズ
サウイフモノニ
ワタシハナリタイ";
QLabel label = new QLabel (text);
label.Font = new QFont (null, 8);
label.SetSizePolicy (QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding);
QVBoxLayout vbox = new QVBoxLayout (this);
vbox.AddWidget (label);
}
[STAThread]
public static int Main (String[] args)
{
new QApplication (args);
new QyotoApp ();
return QApplication.Exec ();
}
}
フォントの設定をしている QFont では、日本語フォントを制御する確認ができていないので、とりあえずフォントを null にしてサイズだけ指定しています。
コンパイルおよび実行例を以下に示します。
$ mcs label.cs -pkg:qyoto $ mono label.exe
参考サイト
- C# Qyoto tutorial
- Qyoto: Main Page - Qyoto Documentation




0 件のコメント:
コメントを投稿