2017-02-15 85 views
0

我正在使用PyQt并试图为用户构建多行文本输入框。但是,当我运行下面的代码时,我得到一个只允许输入单行文本的框。如何修复它,以便用户可以根据需要输入尽可能多的行数?PyQt多行文本输入框

import sys 
    from PyQt4.QtGui import * 
    from PyQt4.QtCore import * 

    def window(): 
     app = QApplication(sys.argv) 
     w = QWidget() 

     w.resize(640, 480) 

     textBox = QLineEdit(w) 
     textBox.move(250, 120) 

     button = QPushButton("click me") 
     button.move(20, 80) 

     w.show() 

     sys.exit(app.exec_()) 


    if __name__ == '__main__': 
     window() 

回答

3

QLineEdit是提供单行而不是多行的小部件。您可以使用QPlainTextEdit用于此目的。

import sys 
from PyQt4.QtGui import * 
from PyQt4.QtCore import * 

def window(): 
    app = QApplication(sys.argv) 
    w = QWidget() 

    w.resize(640, 480) 

    textBox = QPlainTextEdit(w) 
    textBox.move(250, 120) 

    button = QPushButton("click me", w) 
    button.move(20, 80) 

    w.show() 

    sys.exit(app.exec_()) 


if __name__ == '__main__': 
    window()