1
ウィジェットにテキストを入力して関数の値を変更したいとします。 QLineEditとQTextEditのどちらを使うべきかはわかりませんが、私はいくつかのドキュメントを読んでいて、すべてそれを行うことができるようです。私は以下のようないくつかのサンプルコードを持っています。PyQt4:QLineEdit/QTextEditのテキストを読み込んで、ボタンをクリックしてテキストの変更をいくつかの関数に実装します。
import sys
import PyQt4
from PyQt4 import QtGui, QtCore
from PyQt4.QtGui import *
from PyQt4.QtCore import *
class Widget(QWidget):
def __init__(self, parent= None):
super(Widget, self).__init__(parent)
layout = QGridLayout()
self.setLayout(layout)
btn = QPushButton('Push')
layout.addWidget(btn, 0, 0)
le = QLineEdit()
layout.addWidget(le, 0, 1)
def someFunc(self):
print() ## should print texts entered in le
app = QApplication(sys.argv)
widget = Widget()
widget.show()
app.exec_()
あなたは上記を参照できるように、私は「プッシュ」ボタンをクリックすることにより、ルに入れているものは何でもテキスト印刷する「someFunc」方法をしたいです。
これを解決する方法を知っている人は、plsによろしくお願いします。
をだから私は「self.le」で何かを入力すると、それだけで自動的にいくつかのテキストが入力された信号を発しますか? – ryan9025
@ ryan9025。そのために。 [textEdited](https://doc.qt.io/qt-4.8/qlineedit.html#textEdited)シグナルのようなものを使用する必要があります。これを行う方法を示すために私の例にいくつかの追加コードを追加しました。彼らが何をしているかを見るには、いくつかの[他の信号](https://doc.qt.io/qt-4.8/qlineedit.html#signals)を試してみることをお勧めします。 – ekhumoro