如果我将窗口设置为showMaximize(),PyQt不会显示Button
如果我设置了self.setGeometry(50,50,500,300) 那么Button在showMaximized()处显示完美的Facing问题。
import sys
from PyQt4 import QtGui, QtCore
class Window(QtGui.QMainWindow):
def __init__(self):
super(Window, self).__init__()
self.showMaximized()
self.setWindowTitle("PyQT tuts!")
self.setWindowIcon(QtGui.QIcon('pythonlogo.png'))
self.home()
def home(self):
btn = QtGui.QPushButton("Quit", self)
btn.clicked.connect(QtCore.QCoreApplication.instance().quit)
btn.resize(100, 100)
btn.move(100, 100)
self.show()
def run():
app = QtGui.QApplication(sys.argv)
GUI = Window()
sys.exit(app.exec_())
run()
任何帮助将不胜感激,
我需要将Button放在窗口的中心。
答案 0 :(得分:1)
问题在于孩子是由父母显示的,在您的情况下,显示父母的按钮不是孩子,因此它不会显示,因此有两种可能的解决方法:
设置为showMaximized()
之前的孩子
class Window(QtGui.QMainWindow):
def __init__(self):
super(Window, self).__init__()
self.home()
self.showMaximized()
self.setWindowTitle("PyQT tuts!")
self.setWindowIcon(QtGui.QIcon('pythonlogo.png'))
调用按钮的show方法。
def home(self):
btn = QtGui.QPushButton("Quit", self)
btn.clicked.connect(QtCore.QCoreApplication.instance().quit)
btn.resize(100, 100)
btn.move(100, 100)
btn.show()