Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
GTK/開発のソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
GTK/開発
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:ウィジェットツールキット]] [[Category:開発]] [[en:GTK+/Development]] スクラッチから C で GTK+ 3 プログラムを書く時は、CFLAGS を gcc に追加してください: $ gcc -g -Wall `pkg-config --cflags --libs gtk+-3.0` -o base base.c -g と -Wall パラメータはデバッグ出力をするためのものなので必須ではありません。 == シンプルなメッセージダイアログアプリ == GObject-Introspection やバインディングを使うことで多くのプログラミング言語で簡単に GTK+ 3 のメッセージダイアログを作ることができます、また bash を使うこともできます。 以下の例ではシンプルに "Hello world" をメッセージダイアログに表示します。 ===Ada=== * 依存パッケージ: AUR の {{AUR|gtkada}} * ビルドするのに必要なパッケージ: {{Pkg|gcc-ada}} * ビルド: {{ic|gnatmake hello_world `gtkada-config`}} {{hc|hello_world.adb|2= with Gtk.Main; with Gtk.Dialog; use Gtk.Dialog; with Gtk.Message_Dialog; use Gtk.Message_Dialog; procedure hello_world is Dialog : Gtk_Message_Dialog; Response : Gtk_Response_Type; begin Gtk.Main.Init; Gtk_New (Dialog => Dialog, Parent => null, Flags => 0, The_Type => Message_Info, Buttons => Buttons_OK, Message => "Hello world!"); Format_Secondary_Markup (Dialog, "This is an example dialog."); Response := Run (Dialog); end hello_world; }} ===Bash=== *依存パッケージ: {{Pkg|zenity}} {{hc|hello_world.sh|<nowiki>#!/bin/bash zenity --info --title='Hello world!' --text='This is an example dialog.'</nowiki>}} ===Boo=== *依存パッケージ: {{Pkg|gtk-sharp-3}} ({{Pkg|boo}}) *ビルドするのに必要なパッケージ: {{Pkg|boo}} *ビルド: {{ic|booc hello_world.boo}} *実行: {{ic|mono hello_world.exe}} (もしくは {{ic|booi hello_world.boo}}) {{hc|hello_world.boo|<nowiki>import Gtk from "gtk-sharp" Application.Init() Hello = MessageDialog(null, DialogFlags.Modal, MessageType.Info, ButtonsType.Close, "Hello world!") Hello.SecondaryText = "This is an example dialog." Hello.Run()</nowiki>}} ===C=== *依存パッケージ: {{Pkg|gtk3}} *ビルド: {{Ic|gcc -o hello_world `pkg-config --cflags --libs gtk+-3.0` hello_world.c}} {{hc|hello_world.c|<nowiki>#include <gtk/gtk.h> void main (int argc, char *argv[]) { gtk_init (&argc, &argv); GtkWidget *hello = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "Hello world!"); gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (hello), "This is an example dialog."); gtk_dialog_run(GTK_DIALOG (hello)); }</nowiki>}} ===C++=== *依存パッケージ: {{Pkg|gtkmm3}} *ビルド: {{Ic|g++ -o hello_world `pkg-config --cflags --libs gtkmm-3.0` hello_world.cc}} {{hc|hello_world.cc|<nowiki>#include <gtkmm/main.h> #include <gtkmm/messagedialog.h> int main(int argc, char *argv[]) { Gtk::Main kit(argc, argv); Gtk::MessageDialog Hello("Hello world!", false, Gtk::MESSAGE_INFO, Gtk::BUTTONS_OK); Hello.set_secondary_text("This is an example dialog."); Hello.run(); }</nowiki>}} ===C#=== *依存パッケージ: {{Pkg|gtk-sharp-3}} *ビルド: {{ic|mcs -pkg:gtk-sharp-3.0 hello_world.cs}} *実行: {{ic|mono hello_world.exe}} {{hc|hello_world.cs|<nowiki>using Gtk; public class HelloWorld { static void Main() { Application.Init (); MessageDialog Hello = new MessageDialog (null, DialogFlags.Modal, MessageType.Info, ButtonsType.Close, "Hello world!"); Hello.SecondaryText="This is an example dialog."; Hello.Run (); } }</nowiki>}} ===Cobra=== * 依存パッケージ: {{Pkg|gtk-sharp-3}} * ビルドするのに必要なパッケージ: AUR の {{AUR|cobra}}{{Broken package link|{{aur-mirror|cobra}}}} from AUR * ビルド: {{ic|cobra -c hello_world}} * 実行: {{ic|mono hello_world.exe}} {{hc|hello_world.cobra|2= @args -pkg:gtk-sharp-3.0 use Gtk class HelloWorld def main Application.init hello = MessageDialog(nil, DialogFlags.Modal, MessageType.Info, ButtonsType.Ok, "Hello world!") hello.secondaryText = "This is an example dialog." hello.run }} ===D=== * 依存パッケージ: AUR の {{AUR|gtkd}} * ビルドするのに必要なパッケージ: {{Pkg|dmd}} * ビルド: {{ic|dmd hello_world $(pkg-config --cflags --libs gtkd-2)}} {{hc|hello_world.d|2= import gtk.Main; import gtk.MessageDialog; void main(string[] args) { Main.init(args); MessageDialog dialog = new MessageDialog(null, GtkDialogFlags.MODAL, MessageType.INFO, ButtonsType.OK, "Hello world!"); dialog.run(); } }} ===F#=== * 依存パッケージ: {{Pkg|gtk-sharp-3}} * ビルドするのに必要なパッケージ: AUR の {{AUR|fsharp}} * ビルド: {{ic|fsharpc -r:gtk-sharp.dll -I:/usr/lib/mono/gtk-sharp-3.0/}} * 実行: {{ic|mono hello_world.exe}} {{hc|hello_world.fs|<nowiki> open Gtk Application.Init() let Hello = new MessageDialog(null, DialogFlags.Modal, MessageType.Info, ButtonsType.Ok, "Hello world!") Hello.SecondaryText <- "This is an example dialog." Hello.Run() |> ignore </nowiki>}} ===Fortran=== * 依存パッケージ: AUR の {{AUR|gtk-3-fortran-git}}{{Broken package link|{{aur-mirror|gtk-3-fortran-git}}}} * ビルドするのに必要なパッケージ: {{Pkg|gcc-fortran}} * ビルド: {{ic|gfortran hello_world.f90 -o hello_world $(pkg-config --cflags --libs gtk-3-fortran)}} {{hc|hello_world.f90|<nowiki> program hello_world use gtk_hl use gtk, only: gtk_init integer(c_int) :: resp character(40), dimension(2) :: msg call gtk_init() msg(1) ="Hello world!" msg(2) = "This is an example dialog." resp = hl_gtk_message_dialog_show(msg, GTK_BUTTONS_OK, type=GTK_MESSAGE_INFO) end program hello_world </nowiki>}} ===Genie=== *依存パッケージ: {{Pkg|gtk3}} *ビルドするのに必要なパッケージ: {{Pkg|vala}} *ビルド: {{Ic|valac --pkg gtk+-3.0 hello_world.gs}} {{hc|hello_world.gs|<nowiki>uses Gtk init Gtk.init (ref args) var Hello=new MessageDialog (null, Gtk.DialogFlags.MODAL, Gtk.MessageType.INFO, Gtk.ButtonsType.OK, "Hello world!") Hello.format_secondary_text ("This is an example dialog.") Hello.run ()</nowiki>}} ===Go=== * 依存パッケージ: {{Pkg|gtk3}} * ビルドするのに必要なパッケージ: AUR の {{AUR|gotk3-git}}{{Broken package link|{{aur-mirror|gotk3-git}}}} * ビルド: {{ic|go build hello_world.go}} * (もしくは実行: {{ic|go run hello_world.go}}) {{hc|hello_world.go|2= package main import ("github.com/conformal/gotk3/gtk") func main() { gtk.Init(nil) dialog := gtk.MessageDialogNew(nil, gtk.DIALOG_MODAL, gtk.MESSAGE_INFO, gtk.BUTTONS_OK, "Hello world!") dialog.FormatSecondaryText("This is an example notification.") dialog.Run() } }} ===Groovy=== * 依存パッケージ: AUR の {{Pkg|groovy}}, {{AUR|java-gnome}} * ビルド: {{ic|groovyc -cp /usr/share/java/gtk.jar HelloWorld.groovy && jar cfe HelloWorld.jar HelloWorld HelloWorld.class}} * 実行: {{ic|java -cp /usr/share/groovy/embeddable/groovy-all.jar:/usr/share/java/gtk.jar:HelloWorld.jar HelloWorld}} (or {{ic|groovy -cp /usr/share/java/gtk.jar HelloWorld.groovy}}) {{hc|HelloWorld.groovy|2= import org.gnome.gtk.* Gtk.init() def Hello = new InfoMessageDialog(null, "Hello world!", "This is an example dialog.") Hello.run() }} ===Haskell=== * 依存パッケージ: {{Pkg|gtk3}} * ビルドするのに必要なパッケージ: AUR の {{AUR|haskell-gtk3}}{{Broken package link|{{aur-mirror|haskell-gtk3}}}} * ビルド: {{ic|ghc hello_world}} {{hc|hello_world.hs|2= import Graphics.UI.Gtk main = do initGUI dialog <- messageDialogNew Nothing [DialogModal] MessageInfo ButtonsOk "Hello world!" messageDialogSetSecondaryText dialog "This is an example dialog." _res <- dialogRun dialog return 0 }} ===Java=== *依存パッケージ: AUR の {{AUR|java-gnome}} *ビルドするのに必要なパッケージ: java-environment *ビルド: {{ic|mkdir HelloWorld && javac -classpath /usr/share/java/gtk.jar -d HelloWorld HelloWorld.java}} *実行: {{ic|java -classpath /usr/share/java/gtk.jar:HelloWorld HelloWorld}} {{hc|HelloWorld.java|<nowiki>import org.gnome.gtk.Gtk; import org.gnome.gtk.Dialog; import org.gnome.gtk.InfoMessageDialog; public class HelloWorld { public static void main(String[] args) { Gtk.init(args); Dialog Hello = new InfoMessageDialog(null, "Hello world!", "This is an example dialog."); Hello.run(); } }</nowiki>}} ===JavaScript=== *依存パッケージ: {{Pkg|gtk3}}, {{Pkg|gjs}} ({{Pkg|seed}}) {{hc|hello_world.js|<nowiki>#!/usr/bin/gjs Gtk = imports.gi.Gtk Gtk.init(null, null) Hello = new Gtk.MessageDialog({type: Gtk.MessageType.INFO, buttons: Gtk.ButtonsType.OK, text: "Hello world!", "secondary-text": "This is an example dialog."}) Hello.run()</nowiki>}} ===Lua=== * 依存パッケージ: {{Pkg|gtk3}}, {{Pkg|lua-lgi}} {{hc|hello_world.lua|2= #!/usr/bin/env lua lgi = require 'lgi' Gtk = lgi.require('Gtk') Gtk.init() Hello=Gtk.MessageDialog {message_type = Gtk.MessageType.INFO, buttons = Gtk.ButtonsType.OK, text = "Hello world!", secondary_text = "This is an example dialog."} Hello:run() }} ===Pascal=== * 依存パッケージ: {{Pkg|gtk3}} * ビルドするのに必要なパッケージ: {{Pkg|fpc}}, [http://wiki.freepascal.org/Gtk+3 Gtk+3.0 bindings] * ビルド: {{ic|fpc hello_world}} {{hc|hello_world.pas|2= program hello_world; uses Math, Gtk3; var dialog: PGtkWidget; begin SetExceptionMask([exInvalidOp, exDenormalized, exZeroDivide, exOverflow, exUnderflow, exPrecision]); gtk_init(@argc, @argv); dialog := gtk_message_dialog_new(nil, GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, '%s', ['Hello world!']); gtk_message_dialog_format_secondary_text(PGtkMessageDialog(dialog), '%s', ['This is an example dialog.']); gtk_dialog_run(PGtkDialog(dialog)); end. }} ===Perl=== *依存パッケージ: AUR の {{AUR|perl-gtk3}} {{hc|hello_world.pl|<nowiki>#!/usr/bin/perl use Gtk3 -init; my $hello = Gtk3::MessageDialog->new (undef, 'modal', 'info', 'ok', "Hello world!"); $hello->set ('secondary-text' => 'This is an example dialog.'); $hello->run;</nowiki>}} ===Python=== *依存パッケージ: {{Pkg|gtk3}}, {{Pkg|python-gobject}} {{hc|hello_world.py|<nowiki>#!/usr/bin/python from gi.repository import Gtk Gtk.init(None) Hello=Gtk.MessageDialog(None, Gtk.DialogFlags.MODAL, Gtk.MessageType.INFO, Gtk.ButtonsType.CLOSE, "Hello world!") Hello.format_secondary_text("This is an example dialog.") Hello.run()</nowiki>}} ===Ruby=== * 依存パッケージ: {{AUR|ruby-gtk3}}{{Broken package link|{{aur-mirror|ruby-gtk3}}}} {{hc|hello_world.rb|2= #!/usr/bin/env ruby require 'gtk3' Gtk.init Hello = Gtk::MessageDialog.new(:type => :info, :buttons_type => :ok, :message => "Hello world!") Hello.secondary_text = "This is an example dialog." Hello.run }} ===Scala=== * 依存パッケージ: AUR の {{AUR|java-gnome}} ({{Pkg|scala}}) * ビルドするのに必要なパッケージ: {{Pkg|scala}} * ビルド: {{ic|scalac -cp /usr/share/java/gtk.jar -d HelloWorld.jar HelloWorld.scala}} * 実行: {{ic|java -cp /usr/share/java/gtk.jar:HelloWorld.jar HelloWorld}} (or {{ic|scala -cp /usr/share/java/gtk.jar HelloWorld.scala}}) {{hc|HelloWorld.scala|2= import org.gnome.gtk._ object HelloWorld { def main(args: Array[String]) { Gtk.init(args) var hello = new InfoMessageDialog(null, "Hello world!", "This is an example dialog.") hello.run() } } }} ===Vala=== *依存パッケージ: {{Pkg|gtk3}} *ビルドするのに必要なパッケージ: {{Pkg|vala}} *ビルド: {{Ic|valac --pkg gtk+-3.0 hello_world.vala}} {{hc|hello_world.vala|<nowiki>using Gtk; public class HelloWorld { static void main (string[] args) { Gtk.init (ref args); var Hello=new MessageDialog (null, Gtk.DialogFlags.MODAL, Gtk.MessageType.INFO, Gtk.ButtonsType.OK, "Hello world!"); Hello.format_secondary_text ("This is an example dialog."); Hello.run (); } }</nowiki>}} ===Visual Basic .NET=== *依存パッケージ: {{Pkg|gtk-sharp-3}} *ビルドするのに必要なパッケージ: {{Pkg|mono-basic}} *ビルド: {{ic|vbnc -r:/usr/lib/mono/gtk-sharp-3.0/gio-sharp.dll -r:/usr/lib/mono/gtk-sharp-3.0/glib-sharp.dll -r:/usr/lib/mono/gtk-sharp-3.0/gtk-sharp.dll hello_world.vb}} *実行: {{ic|mono hello_world.exe}} {{hc|hello_world.vb|<nowiki>Imports Gtk Public Class Hello Inherits MessageDialog Public Sub New MyBase.New(Me, DialogFlags.Modal, MessageType.Info, ButtonsType.Close, "Hello world!") Me.SecondaryText = "This is an example dialog." End Sub Public Shared Sub Main Application.Init Dim Dialog As New Hello Dialog.Run End Sub End Class</nowiki>}}
このページで使用されているテンプレート:
テンプレート:AUR
(
ソースを閲覧
)
テンプレート:Broken package link
(
ソースを閲覧
)
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
GTK/開発
に戻る。
検索
検索
GTK/開発のソースを表示
話題を追加