Python 向窗口添加不同的文本
我有一个按钮和一个文本标签。每次按下按钮时,我都希望将行编辑中的文本放置到窗口中。到目前为止,我只能在窗口上绘制一个文本,即使我创建了另一个textlabel。我试着通过点击次数来确定用户点击按钮的次数,但这也不起作用。这是我到目前为止的情况,有什么建议吗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
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-格拉默。添加新标签将为我的答案提供相同的输出。你到底想达到什么目的?为什么需要单独的标签?如果标签数量超过窗口大小,会发生什么情况?