1

textEditフィールドがあり、このフィールド内で選択したテキストを処理したいのですが(フォーマットではありません)。

これまでのところ、ボタンを次のように接続します。

QtCore.QObject.connect(self.ui.mytext_button、QtCore.SIGNAL( "clicked()")、self.mytext)

方法:

def mytext(s):
     return s.upper()

しかし、sが選択されたテキストであることをPythonに伝えるにはどうすればよいですか?私はそれがselectionStart()、selectionEnd()で何かであることを知っています。そして、それをmytextが返すものに変更する方法は?insertText()を使ったものだと思いますが、ここでも詳細がわかりません。

4

1 に答える 1

2

私自身の質問に答えます。仲間のPython初心者のためにここに投稿する:

選択したテキストを取得します。

cursor = self.ui.editor_window.textCursor()
textSelected = cursor.selectedText()

テキストをエディタに挿入し直します。

self.ui.editor_window.append(s) 

テキストを元のテキストに挿入するためのappend()の代替手段もあります。
したがって、選択したテキストを大文字にするには:

def mytext(self):
        cursor = self.ui.editor_window.textCursor()
        textSelected = cursor.selectedText()
        s = textSelected.upper()
        self.ui.editor_window.append(s)  
于 2013-03-04T18:54:30.250 に答える