QMainWindow
- это специальный виджет, поскольку он уже имеет предустановленный макет, как показано ниже:
Так что в этом случае вам не следует устанавливатькомпоновка для QMainWindow, но для центрального виджета, но сначала установить центральный виджет, используя указанную вещь, мы получаем следующее:
######################################################
central_widget = QtGui.QWidget()
self.setCentralWidget(central_widget)
Overall_Layout = QtGui.QGridLayout(central_widget)
Play_Button = QtGui.QPushButton(QtGui.QIcon("images/PLAY.bmp"), "PLAY")
Overall_Layout.addWidget(Play_Button,1,2)
Overall_Layout.addWidget(Play_Button,2,2)
########################################################
С другой стороны, если вы наследуете от QMainWindow, вы должны вызвать конструктор QMainWindow, но в коде вы вызываете QWidget, поэтому вы должны изменить его на:
class MainWindow(QtGui.QMainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)
или
class MainWindow(QtGui.QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()