无法在 PyQt4 上显示 Qlabel
Not able to display Qlabel on PyQt4
您好,我已经发布了下面的代码,通过它我无法在 pyqt4 中显示标签。任何建议都会有所帮助。
from PyQt4 import QtGui
from PyQt4 import QtCore
import sys
class Entry_view(QtGui.QWidget):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.setGeometry(25, 25, 800, 480)
label = QtGui.QLabel()
label.setText("Welcome To Python GUI")
label.resize(100, 50)
# label.show(self)
self.show()
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
myapp = Entry_view()
sys.exit(app.exec_())
您没有保留对标签的引用,因此它在显示之前已被垃圾回收。试试这个:
self.label = QtGui.QLabel(self)
self.label.setText("Welcome To Python GUI")
self.label.resize(100, 50)
下面的代码是解决方案,
from PyQt4 import QtGui
from PyQt4 import QtCore
import sys
class Entry_view(QtGui.QWidget):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.setGeometry(25, 25, 800, 480)
label = QtGui.QLabel()
label.setText("Swipe The Card")
vbox = QtGui.QVBoxLayout()
label.setAlignment(Qt.AlignCenter)
vbox.addWidget(label)
vbox.addStretch()
self.setLayout(vbox)
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
myapp = Entry_view()
sys.exit(app.exec_())
为什么你设置了文本但不使用这样处理应用程序:
app.processEvents() # On the QApplication.
或者只是做:
label = QtGui.QLabel(text="Welcome to Python GUI!")
或者:
label = QtGui.QLabel("Welcomme To Python GUI!")
或者另一种方式是:
label.show() # No widgets on it.
您好,我已经发布了下面的代码,通过它我无法在 pyqt4 中显示标签。任何建议都会有所帮助。
from PyQt4 import QtGui
from PyQt4 import QtCore
import sys
class Entry_view(QtGui.QWidget):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.setGeometry(25, 25, 800, 480)
label = QtGui.QLabel()
label.setText("Welcome To Python GUI")
label.resize(100, 50)
# label.show(self)
self.show()
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
myapp = Entry_view()
sys.exit(app.exec_())
您没有保留对标签的引用,因此它在显示之前已被垃圾回收。试试这个:
self.label = QtGui.QLabel(self)
self.label.setText("Welcome To Python GUI")
self.label.resize(100, 50)
下面的代码是解决方案,
from PyQt4 import QtGui
from PyQt4 import QtCore
import sys
class Entry_view(QtGui.QWidget):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.setGeometry(25, 25, 800, 480)
label = QtGui.QLabel()
label.setText("Swipe The Card")
vbox = QtGui.QVBoxLayout()
label.setAlignment(Qt.AlignCenter)
vbox.addWidget(label)
vbox.addStretch()
self.setLayout(vbox)
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
myapp = Entry_view()
sys.exit(app.exec_())
为什么你设置了文本但不使用这样处理应用程序:
app.processEvents() # On the QApplication.
或者只是做:
label = QtGui.QLabel(text="Welcome to Python GUI!")
或者:
label = QtGui.QLabel("Welcomme To Python GUI!")
或者另一种方式是:
label.show() # No widgets on it.