テキストボックスをつくる
Ruby/Qteの勉強 その3
@ebox1 = QLineEdit.new(self) @ebox1.setGeometry(0,250,635,30) @ebox1.setText(tr("あいうえお")) @ebox2 = QMultiLineEdit.new(self) @ebox2.setGeometry(0,280,635,120) @ebox2.setText(tr("あいうえお\nかきくけこ")) @ebox2.insertLine(tr("さしすせそ\nたちつてと")) #05/06/29追加
のようにするとテキストボックスが追加される。QLineEditとQMultiLineEditの違いは改行ができるかどうか(だと思う)。予め文字を入れたい場合は.setTextを使用。なかの文字は自由に編集ができる。QLineEditでは
@ebox1 = QLineEdit.new(tr("あいうえお"),self)
でも、できたけどQMultiLineEditではエラーになった。
既に文字が入っている状態で、文字を追加させたい場合は.insertLineを使用する(05/06/29追加)
テキストボックスを表示専用(書き換え不可)にしたい場合は
@ebox2.setReadOnly(true)
を追加する。
#!/usr/bin/env ruby require "qte" require "qpe" include Qte include Qpe class SampleWindow < QMainWindow def initialize() super() setCaption(tr("サンプル")) msg = QLabel.new(tr("これはサンプルプログラム"),self) msg.setGeometry(10,10,300,30) @ebox1 = QLineEdit.new(self) # @ebox1 = QLineEdit.new(tr("あいうえお"),self) #QMultiLineEditではエラー @ebox1.setGeometry(0,250,635,30) @ebox1.setText(tr("あいうえお")) @ebox2 = QMultiLineEdit.new(self) @ebox2.setGeometry(0,280,635,120) @ebox2.setText(tr("あいうえお\nかきくけこ")) @ebox2.insertLine(tr("さしすせそ\nたちつてと")) #05/06/29追加 # @ebox2.setReadOnly(true) #表示専用にする # @ebox2.setReadOnly(false) #falseだと編集可 end end $defaultCodec = QTextCodec.codecForName("utf8") app = QPEApplication.new([$0]+ARGV) app.setDefaultCodec($defaultCodec) QApplication.setFont(QFont.new("lcfont",18)) app.showMainWidget(SampleWindow.new) app.exec