title: PyQt: Add qpushbutton dynamically
body: <p>I am trying to figure out how to create QPushButton by pressing another QPushbutton so that I can ultimately create buttons dynamically. It seems like the initial method for creating buttons doesn't work in a function. </p>
  
  <pre><code>import sys
  from PyQt5 import QtCore, QtWidgets
  from PyQt5.QtWidgets import QMainWindow, QLabel, QGridLayout, QWidget
  from PyQt5.QtWidgets import QPushButton
  from PyQt5.QtCore import QSize   
  
  
  
  class MainWindow(QMainWindow):
      def __init__(self):
          QMainWindow.__init__(self)
  
  
      self.setMinimumSize(QSize(300, 200))    
  
      pybutton = QPushButton('Create a button', self)
      pybutton.clicked.connect(self.clickMethod)
      pybutton.resize(100,100)
      pybutton.move(100, 100)        
  
  def clickMethod(self):
      print('Clicked')
      newBtn = QPushButton('New Button', self)
      newBtn.move(0, 0)
  
  
  if __name__ == "__main__":
      app = QtWidgets.QApplication(sys.argv)
      mainWin = MainWindow()
      mainWin.show()
      sys.exit( app.exec_() )
  </code></pre>