Python 向窗口添加不同的文本

Python 向窗口添加不同的文本,python,python-3.x,pyqt4,Python,Python 3.x,Pyqt4,我有一个按钮和一个文本标签。每次按下按钮时,我都希望将行编辑中的文本放置到窗口中。到目前为止,我只能在窗口上绘制一个文本,即使我创建了另一个textlabel。我试着通过点击次数来确定用户点击按钮的次数,但这也不起作用。这是我到目前为止的情况,有什么建议吗 import sys import os from PyQt4 import QtCore, QtGui from PyQt4.QtCore import * from PyQt4.QtGui import * from PyQt4.QtG

我有一个按钮和一个文本标签。每次按下按钮时,我都希望将行编辑中的文本放置到窗口中。到目前为止,我只能在窗口上绘制一个文本,即使我创建了另一个textlabel。我试着通过点击次数来确定用户点击按钮的次数,但这也不起作用。这是我到目前为止的情况,有什么建议吗

import sys
import os
from PyQt4 import QtCore, QtGui
from PyQt4.QtCore import *
from PyQt4.QtGui  import *
from PyQt4.QtGui import QApplication


class Window(QMainWindow):
    def __init__(self, *args):
        QMainWindow.__init__(self, *args)
        self.centralWidget = QWidget(self)
        self.setCentralWidget(self.centralWidget)
        self.setGeometry(450,100,350,680)

        self.btn1 = QPushButton("Enter", self.centralWidget)
        self.btn1.setGeometry(10,50,150, 20)
        self.btn1.clicked.connect(self.enter)

        self.edit = QtGui.QLineEdit(self)
        self.edit.setGeometry(10, 10, 150, 20)

        self.label = QtGui.QLabel(self)
        self.label.setGeometry(240, 170,150, 20)


    def enter(self):
        self.label.setText(self.edit.text())


def main(args):
    global app
    app = App(args)
    app.exec_()

class App(QApplication):
    def __init__(self, *args):
        QApplication.__init__(self, *args)
        self.main = Window()
        self.connect(self, SIGNAL("lastWindowClosed()"), self.byebye )
        self.main.show()

    def byebye( self ):
        self.exit(0)


if __name__ == "__main__":
    main(sys.argv)

您的示例代码有一些问题,主要是您试图手动排列小部件,而不是使用布局

很难从您的问题中准确地说出您期望的输出是什么,因此我假设您希望将line edit中的文本附加到标签上,以便最终得到一系列行

下面是您的示例的简化版本,希望能够满足您的要求:

from PyQt4 import QtCore, QtGui

class Window(QtGui.QMainWindow):
    def __init__(self):
        QtGui.QMainWindow.__init__(self)
        self.btn1 = QtGui.QPushButton("Enter", self)
        self.btn1.clicked.connect(self.enter)
        self.edit = QtGui.QLineEdit(self)
        self.label = QtGui.QLabel(self)
        self.label.setAlignment(
            QtCore.Qt.AlignTop | QtCore.Qt.AlignLeft)
        widget = QtGui.QWidget(self)
        layout = QtGui.QVBoxLayout(widget)
        layout.addWidget(self.edit)
        layout.addWidget(self.btn1)
        layout.addWidget(self.label)
        self.setCentralWidget(widget)

    def enter(self):
        text = self.edit.text()
        if text:
            self.label.setText('%s\n%s' % (self.label.text(), text))

if __name__ == '__main__':

    import sys
    app = QtGui.QApplication(sys.argv)
    window = Window()
    window.setGeometry(450, 100, 350, 680)
    window.show()
    sys.exit(app.exec_())

每次用户单击按钮进行输入时,我都希望将该文本输出到不同的位置label@Pro-格拉默。添加新标签将为我的答案提供相同的输出。你到底想达到什么目的?为什么需要单独的标签?如果标签数量超过窗口大小,会发生什么情况?