프로젝트

일반

사용자정보

개발환경

  1. numpy 버전 : 1.16.2
    1. pyinstaller가 numpy.random.common(버전 : 1.17.0)을 패키징하지 못해서 1.16.2 로 설치해야 한다
  1. 여러 QCheckBox의 stateChanged slot 처리 방법
    1. slot에 QCheckBox 객체를 넘겨 처리하는 방법
      import sys
      from PyQt4.QtCore import *
      from PyQt4.QtGui import *
      
      class checkdemo(QWidget):
         def __init__(self, parent = None):
            super(checkdemo, self).__init__(parent)
      
            layout = QHBoxLayout()
            self.b1 = QCheckBox("Button1")
            self.b1.setChecked(True)
            self.b1.stateChanged.connect(lambda:self.btnstate(self.b1))
            layout.addWidget(self.b1)
      
            self.b2 = QCheckBox("Button2")
            self.b2.toggled.connect(lambda:self.btnstate(self.b2))
      
            layout.addWidget(self.b2)
            self.setLayout(layout)
            self.setWindowTitle("checkbox demo")
      
         def btnstate(self,b):
            if b.text() == "Button1":
               if b.isChecked() == True:
                  print b.text()+" is selected" 
               else:
                  print b.text()+" is deselected" 
      
            if b.text() == "Button2":
               if b.isChecked() == True:
                  print b.text()+" is selected" 
               else:
                  print b.text()+" is deselected" 
      
      def main():
      
         app = QApplication(sys.argv)
         ex = checkdemo()
         ex.show()
         sys.exit(app.exec_())
      
      if __name__ == '__main__':
         main()
      
    2. QButtonGroup을 만들어 처리하는 방법
      self.bg = QButtonGroup()
      self.bg.addButton(self.b1,1)
      self.bg.addButton(self.b2,2)
      
      self.bg.buttonClicked[QAbstractButton].connect(self.btngroup)
      
      def btngroup(self,btn):
         print btn.text()+" is selected" 
      
클립보드 이미지 추가 (최대 크기: 500 MB)