#gui_1.py
import sys
from PyQt5.QtWidgets import *
app = QApplication(sys.argv)
label = QLabel('Hello, PyQt')
label.show()
print('Before event loop')
app.exec_()
print('After event loop')
#gui_2.py
import sys
from PyQt5.QtWidgets import *
def clicked_slot():
print('clicked')
app = QApplication(sys.argv)
btn = QPushButton('hello')
btn.clicked.connect(clicked_slot)
btn.show()
app.exec_()
#gui_3.py
import sys
from PyQt5.QtWidgets import *
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setupUI()
def setupUI(self): #자기 자신의 UI를 변경하는 메서드
self.setWindowTitle('Review')
btn1 = QPushButton('Click me',self)
btn1.move(20,20)
btn1.clicked.connect(self.btn1_clicked)
def btn1_clicked(self):
QMessageBox.about(self,'message','clicked btn1')
if __name__=='__main__':
app = QApplication(sys.argv)
mywindow=MyWindow()
mywindow.show()
app.exec_()
#gui_4.py
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setupUI()
def setupUI(self):
btn1 = QPushButton('Close',self)
btn1.move(20,20)
btn1.clicked.connect(QCoreApplication.instance().quit) #QCoreApplication.instance() 를 이용하면 app변수가 바인딩하고 있는 동일한 객체를 얻어오는 것이 가능
#app이 바인딩 하고 있는 객체는 QApplicatioini 클래스의 인스턴스로 이는 quit이라는 메서드를 포함한다. quit 메서드가 호출되어 윈도우가 종료된다.
if __name__ == '__main__':
app = QApplication(sys.argv)
mywindow = MyWindow()
mywindow.show()
app.exec_()
파이썬을 이용하여 창 닫기 프로그램 생성
#gui_5.py
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
app = None
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setupUI()
def setupUI(self):
btn1=QPushButton('닫기',self)
btn1.move(0,0) #btn1 의 위치
btn1.clicked.connect(app.quit) #clicked 이벤트가 발생할 때 app.quit 메서드가 호출된다. QCoreApplication.instance() 대신 사용됨.
if __name__ =='__main__':
app = QApplication(sys.argv)
mywindow = MyWindow()
mywindow.show()
app.exec_()
댓글
댓글 쓰기