我知道我评论的第二行并不起作用,只是表达了我的想法。这将在程序的整个时间运行,因此可以根据大小的变化进行调整。
这样的事情可能吗?
import sys
from PyQt4 import QtGui, QtCore
class Window(QtGui.QMainWindow):
def __init__(self):
super(Window, self).__init__()
self.setGeometry(50, 50, 500, 300)
self.setWindowTitle("SciCalc")
self.setWindowIcon(QtGui.QIcon('atom.png'))
# self.setFixedSize(1000,800)
self.home()
def home(self):
btn = QtGui.QPushButton("Physics", self)
btn.clicked.connect(QtCore.QCoreApplication.instance().quit)
btn.resize(100, 100)
btn.resize(100, 100)
# btn.move(width/2,height/2)
self.show()
def run():
app = QtGui.QApplication(sys.argv)
GUI = Window()
sys.exit(app.exec_())
run()
答案 0 :(得分:2)
假设您想要的是按钮始终位于窗口中间,您可以通过覆盖resizeEvent
方法来实现。
import sys
from PyQt4 import QtGui, QtCore
class Window(QtGui.QMainWindow):
def __init__(self):
super(Window, self).__init__()
self.setGeometry(50, 50, 500, 300)
self.setWindowTitle("SciCalc")
self.setWindowIcon(QtGui.QIcon('atom.png'))
self.home()
def home(self):
self.btn = QtGui.QPushButton("Physics", self)
self.btn.clicked.connect(QtCore.QCoreApplication.instance().quit)
self.btn.resize(100, 100)
self.show()
def resizeEvent(self, event):
self.btn.move(self.rect().center()-self.btn.rect().center())
QtGui.QMainWindow.resizeEvent(self, event)
def run():
app = QtGui.QApplication(sys.argv)
GUI = Window()
sys.exit(app.exec_())
run()