프로젝트

일반

사용자정보

개발환경 » 이력 » 버전 2

백흠경, 2019/08/23 20:07

1 1 백흠경
h1. 개발환경
2 1 백흠경
3 1 백흠경
# numpy 버전 : 1.16.2
4 1 백흠경
## pyinstaller가 numpy.random.common(버전 : 1.17.0)을 패키징하지 못해서 *1.16.2* 로 설치해야 한다
5 2 백흠경
6 2 백흠경
# 여러 QCheckBox의 stateChanged slot 처리 방법 
7 2 백흠경
## slot에 QCheckBox 객체를 넘겨 처리하는 방법
8 2 백흠경
<pre>
9 2 백흠경
import sys
10 2 백흠경
from PyQt4.QtCore import *
11 2 백흠경
from PyQt4.QtGui import *
12 2 백흠경
13 2 백흠경
class checkdemo(QWidget):
14 2 백흠경
   def __init__(self, parent = None):
15 2 백흠경
      super(checkdemo, self).__init__(parent)
16 2 백흠경
      
17 2 백흠경
      layout = QHBoxLayout()
18 2 백흠경
      self.b1 = QCheckBox("Button1")
19 2 백흠경
      self.b1.setChecked(True)
20 2 백흠경
      self.b1.stateChanged.connect(lambda:self.btnstate(self.b1))
21 2 백흠경
      layout.addWidget(self.b1)
22 2 백흠경
		
23 2 백흠경
      self.b2 = QCheckBox("Button2")
24 2 백흠경
      self.b2.toggled.connect(lambda:self.btnstate(self.b2))
25 2 백흠경
26 2 백흠경
      layout.addWidget(self.b2)
27 2 백흠경
      self.setLayout(layout)
28 2 백흠경
      self.setWindowTitle("checkbox demo")
29 2 백흠경
30 2 백흠경
   def btnstate(self,b):
31 2 백흠경
      if b.text() == "Button1":
32 2 백흠경
         if b.isChecked() == True:
33 2 백흠경
            print b.text()+" is selected"
34 2 백흠경
         else:
35 2 백흠경
            print b.text()+" is deselected"
36 2 백흠경
				
37 2 백흠경
      if b.text() == "Button2":
38 2 백흠경
         if b.isChecked() == True:
39 2 백흠경
            print b.text()+" is selected"
40 2 백흠경
         else:
41 2 백흠경
            print b.text()+" is deselected"
42 2 백흠경
				
43 2 백흠경
def main():
44 2 백흠경
45 2 백흠경
   app = QApplication(sys.argv)
46 2 백흠경
   ex = checkdemo()
47 2 백흠경
   ex.show()
48 2 백흠경
   sys.exit(app.exec_())
49 2 백흠경
	
50 2 백흠경
if __name__ == '__main__':
51 2 백흠경
   main()
52 2 백흠경
</pre>
53 2 백흠경
## QButtonGroup을 만들어 처리하는 방법
54 2 백흠경
<pre>
55 2 백흠경
self.bg = QButtonGroup()
56 2 백흠경
self.bg.addButton(self.b1,1)
57 2 백흠경
self.bg.addButton(self.b2,2)
58 2 백흠경
59 2 백흠경
self.bg.buttonClicked[QAbstractButton].connect(self.btngroup)
60 2 백흠경
61 2 백흠경
def btngroup(self,btn):
62 2 백흠경
   print btn.text()+" is selected"
63 2 백흠경
</pre>
클립보드 이미지 추가 (최대 크기: 500 MB)