전공 과목 이수1👨‍💻/파이썬

파이썬 pyQT예제 모음 (Button, Combobox, Checkbox...)

천숭이 2020. 11. 14. 11:32

Button.py

# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import *

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setGeometry(150,250,350,350)
        self.setWindowTitle("using Button")

        self.UI()
        
    def UI(self):
        self.text=QLabel("Test", self)
        enterButton=QPushButton("Enter",self)
        exitButton=QPushButton("Exit",self)
        self.text.move(120, 50)
        enterButton.move(100,80)
        exitButton.move(200,80)
        enterButton.clicked.connect(self.enterFunc)
        exitButton.clicked.connect(self.exitFunc)
        self.show()
        
    def enterFunc(self):
        self.text.setText("You Clicked Enter")
        self.text.resize(150,20)
        
        
    def exitFunc(self):
        self.text.setText("You Clicked Exit")    
        self.text.resize(150,20)
        
def main():
    App= QApplication(sys.argv)
    window=Window()
    sys.exit(App.exec_())
    
if __name__=='__main__':
    main()
        

checkbox.py

# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import *

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setGeometry(50,50,500,500)
        self.setWindowTitle("using CheckBox")

        self.UI()
        
    def UI(self):
        self.name=QLineEdit(self)
        self.name.setPlaceholderText("이름을 입력하세요")
        self.surname=QLineEdit(self)
        self.surname.setPlaceholderText("Family Name을 입력하세요")
        self.name.move(150,50)
        self.surname.move(150,80)
        self.remember=QCheckBox("Remember me",self)
        self.remember.move(150,110)
        button=QPushButton("Submit",self)
        button.move(200,140)
        button.clicked.connect(self.submit)
        
        self.show()
        
    def submit(self):
        if (self.remember.isChecked()):
            print("Name : "+self.name.text()+ "\nSurname: "+self.surname.text()+"\nRemember me checked")
        else:
            print("Name : "+self.name.text()+ "\nSurname: "+self.surname.text()+"\nRemember me not checked")

 

        
def main():
    App= QApplication(sys.argv)
    window=Window()
    sys.exit(App.exec_())
    
if __name__=='__main__':
    main()
        

combobox.py

# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import *


class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("Using Comboboxes")
        self.setGeometry(250,150,500,500)
        self.UI()


    def UI(self):
        self.combo=QComboBox(self)
        self.combo.move(150,100)
        button=QPushButton("Save",self)
        button.move(150,130)
        button.clicked.connect(self.getValue)
        self.combo.addItem("Python")
        self.combo.addItems(["C","C#","PHP"])
        list1=["Batman","Superman","Spiderman"]

        for name in list1:
            self.combo.addItem(name)

        for number in range(18,101):
            self.combo.addItem(str(number))


        self.show()

    def getValue(self):
        value=self.combo.currentText()
        print(value)

def main():
    App = QApplication(sys.argv)
    window=Window()
    sys.exit(App.exec_())

if __name__ == '__main__':
    main()

images.py

# -*- coding: utf-8 -*-

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import QPixmap


class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("Using Images")
        self.setGeometry(50,50,1000,900)
        self.UI()


    def UI(self):
        self.image =QLabel(self)
        self.image.setPixmap(QPixmap('logo.jpg'))
        self.image.move(150,50)
        removeButton=QPushButton("Remove",self)
        removeButton.move(150,220)
        removeButton.clicked.connect(self.removeImg)
        showButton=QPushButton("Show",self)
        showButton.clicked.connect(self.showImg)
        showButton.move(260,220)
        self.show()

    def removeImg(self):
        self.image.close()
    def showImg(self):
        self.image.show()

def main():
    App = QApplication(sys.argv)
    window=Window()
    sys.exit(App.exec_())

if __name__ == '__main__':
    main()

lineedit.py

# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import *

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setGeometry(150,250,350,350)
        self.setWindowTitle("using LineEdit")

        self.UI()
        
    def UI(self):
        self.nameTextBox=QLineEdit(self)
        self.nameTextBox.setPlaceholderText("Please Enter your name")
        self.nameTextBox.move(120,50)
        self.passTextBox=QLineEdit(self)
        self.passTextBox.setPlaceholderText("Please Enter your password")
        self.passTextBox.setEchoMode(QLineEdit.Password)
        self.passTextBox.move(120,80)
        button=QPushButton("Save",self)
        button.move(180,110)
        button.clicked.connect(self.getValues)
        
        self.show()
        
    def getValues(self):
        name=self.nameTextBox.text()
        pw=self.passTextBox.text()
        self.setWindowTitle("Your name is "+name+" Your PW is "+pw)
 

        
def main():
    App= QApplication(sys.argv)
    window=Window()
    sys.exit(App.exec_())
    
if __name__=='__main__':
    main()
        

messagebox.py

# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import QFont

font=QFont("Times",12)


class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("Using Message Boxes")
        self.setGeometry(250,150,500,500)
        self.UI()


    def UI(self):
        button=QPushButton("Click ME!",self)
        button.setFont(font)
        button.move(200,150)
        button.clicked.connect(self.messageBox)
        self.show()
        
    def messageBox(self):
        # mbox=QMessageBox.information(self,"Information","You Logged Out!")
        mbox=QMessageBox.question(self,"Warning!!!","Are you sure to exit?",QMessageBox.Yes | QMessageBox.No | QMessageBox.Cancel,QMessageBox.No)
        if mbox==QMessageBox.Yes:
            sys.exit()
        elif mbox==QMessageBox.No:
            print("You clicked No Button")



def main():
    App = QApplication(sys.argv)
    window=Window()
    sys.exit(App.exec_())

if __name__ == '__main__':
    main()

Radibutton.py

# -*- coding: utf-8 -*-
# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import *

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setGeometry(50,50,500,500)
        self.setWindowTitle("using RadioButton")

        self.UI()
        
    def UI(self):
        self.name=QLineEdit(self)
        self.name.setPlaceholderText("이름을 입력하세요")
        self.surname=QLineEdit(self)
        self.surname.setPlaceholderText("성을 입력하세요")
        self.name.move(150,50)
        self.surname.move(150,80)
        self.male=QRadioButton("남성",self)
        self.female=QRadioButton("여성",self)
        self.female.setChecked(True)
        self.female.move(150,110)
        self.male.move(200,110)
        button=QPushButton("Submit",self)
        button.move(200,140)
        button.clicked.connect(self.submit)
        
        self.show()
        
    def submit(self):
        if (self.male.isChecked()):
            print("Name : "+self.name.text()+ "\nSurname: "+self.surname.text()+"\n남성입니다.")
        else:
            print("Name : "+self.name.text()+ "\nSurname: "+self.surname.text()+"\n여성입니다")

 

        
def main():
    App= QApplication(sys.argv)
    window=Window()
    sys.exit(App.exec_())
    
if __name__=='__main__':
    main()
        


window.py

# -*- coding: utf-8 -*-

import sys
from PyQt5.QtWidgets import *

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setGeometry(150,250,350,450)
        self.setWindowTitle("using QLabel")

        self.UI()
        
    def UI(self):
        text1=QLabel("Hello Python", self)
        text2=QLabel("안녕하세요",self)
        text1.move(50, 50)
        text2.move(50, 250)
        self.show()
        


def main():
    App= QApplication(sys.argv)
    window=Window()
    sys.exit(App.exec_())
    
if __name__=='__main__':
    main()