#PyQt 실행하기
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle('PyStock')
self.setGeometry(300,300,300,400)
btn1 = QPushButton('click me',self)
btn1.move(20,20)
btn1.clicked.connect(self.btn1_clicked)
def btn1_clicked(self):
QMessageBox.about(self,'message','clicked')
if __name__ == '__main__':
app = QApplication(sys.argv)
myWindow = MyWindow()
myWindow.show()
app.exec_()
#disgner 사용해서 데모 만들고 코드라벨에 글자 넣
import sys
from PyQt5.QtWidgets import *
from PyQt5 import uic
form_class=uic.loadUiType('demo.ui')[0]
class DemoForm(QDialog,form_class):
def __init__(self):
super().__init__()
self.setupUi(self)
self.label.setText('첫번쨰 PyQt데모')
if __name__=='__main__':
app = QApplication(sys.argv)
demoWindow = DemoForm()
demoWindow.show()
app.exec_()
#세개의 버튼을 할당하고 누르면 메세지 출
import sys
from PyQt5.QtWidgets import *
from PyQt5 import uic
form_class=uic.loadUiType('demo2.ui')[0]
class DemoForm(QMainWindow,form_class):
def __init__(self):
super().__init__()
self.setupUi(self)
def firstclick(self):
self.label.setText('첫번째 버튼을 클릭')
def secondclick(self):
self.label.setText('두번째 버튼을 클릭')
def thirdclick(self):
self.label.setText('세번째 버튼을 클릭')
if __name__=='__main__':
app = QApplication(sys.argv)
demoWindow = DemoForm()
demoWindow.show()
app.exec_()
#클래스 사용하기 붕어빵의 틀을 만드는것
class person:#클래스이름
def greeting(self): #클래스의 매소드
print('hello')
james=person() #변수james 는 person의instrance(객체)임
james.greeting()#클래스는 특정 개념을 표현만 할뿐 사용을 하려면 인스턴스를 생성해야함
class person:#클래스이름
def greeting(self): #클래스의 매소드
print('hello')
a=10
print(type(a))
b=[0,1,2]
print(type(b))
c={'x':10,'y':20}
print(type(c))
maria=person()
print(type(maria))
#__init__ 인스턴스를 만들때 호출되는 매서드 class의문
#self는 자기 자신을 의미 하고 자기 속성을 추가함
class person:
def __init__(self):
self.hello = 'hi I am human'
def greeting(self):
print(self.hello)
james=person()
james.greeting()
class person:
def __init__(self,name,age,address):
self.name = name
self.age = age
self.address = address
def greeting(self):
print('{0} 저는 {1}입니다'.format(self.hello,self.name))
name=input('이름은 무엇인가요?')
age=input('나이는 무엇인가요?')
address=input('주소는 무엇인가요?')
maria = person(name,age,address)
name=input('이름은 무엇인가요?')
age=input('나이는 무엇인가요?')
address=input('주소는 무엇인가요?')
james=person(name,age,address)
print('첫번쩨 이름:',maria.name)
print('첫번쩨 나이:',maria.age)
print('첫번쩨 주소:',maria.address)
print('두번쩨 이름:',james.name)
print('두번쩨 나이:',james.age)
print('두번쩨 주소:',james.address)
#비공개 속성 사용하기 __속성은 외부에서 접근하면 에러가 발생maria.__wallet -=1000
class person:
def __init__(self,name,age,address,wallet):
self.name = name
self.age = age
self.address = address
self.__wallet = wallet
def pay(self,amount): #비공개 속성은 class안의 매소드에서만접근 할수있음
if amount > self.__wallet:
print('잔액이부족합니다')
return
self.__wallet-=amount
print('이제 {0}원 남았네요.'.format(self.__wallet))
maria = person('마리아',20,'서울시',10000)
maria.pay(3000)
#예제 비공개 속성 사용하기
class Annie: #class 안에서 적용되는변수들은 self를써줌
def __init__(self,health,mana,ability_power):
self.health = health
self.mana = mana
self.ability_power=ability_power
def tibbers(self):
print('티버 피해량 : {0}'.format(self.ability_power*0.65+400))
health,mana,ability_power = map(float,input().split())
x = Annie(health,mana,ability_power)
x.tibbers()
#연습문제 정답 class 소멸자는
class orange:
def __init__(self):
self.__origin = 10
def minus(self,sub_count):
self.__origin -= sub_count
def plus(self,add_count):
self.__origin += add_count
def clear(self):
self.__origin = 0
def check(self):
return self.__origin
myob=orange()
ndata=int(input('추가 수량'))
myob.plus(ndata)
print('현재수량 %d'%myob.check())
ndata=int(input('제거 수량'))
myob.minus(ndata)
print('현재수량 %d'%myob.check())
print(' 수량 제거')
myob.clear()
print('현재수량 %d'%myob.check())
del myob
'First step > AI 기초반' 카테고리의 다른 글
[TIL] api로 날씨데이터를 받아와서 출력하기 (0) | 2021.06.27 |
---|---|
[TIL]21.06.25 숫자야구게임 만들기 (0) | 2021.06.25 |
[TIL]21.06.23 GUI기초2,계산기만들기 (0) | 2021.06.23 |
[TIL]21.06.22 텍스트파일 읽기,수정하기,타자연습만들기,GUI기초1 (0) | 2021.06.23 |
[TIL]21.06.21 (0) | 2021.06.23 |