2018년 6월 28일 목요일

Python PyQt5

PyQt5
pyqt5-tools


from PyQt5.QtWidgets import *
import sys # commandline args
def buttonClicked():
    print("clicked")

app = QApplication(sys.argv)  # Queue 메모리에서 이벤트를 가져 오기 위한 loop
dlg = QDialog()
dlg.setWindowTitle("Hi")
dlg.setGeometry(100, 100, 500, 300)
dlg.show()

layout = QVBoxLayout()
button = QPushButton("클릭")
button.clicked.connect(buttonClicked)
edit   = QLineEdit()

layout.addWidget(button)
layout.addWidget(edit)

dlg.setLayout(layout)

app.exec() # 무한 루프. Queue 메모리 체크print("end...")




from PyQt5.QtWidgets import *
import sys # commandline argsclass MyWindow:
    def __init__(self):
        self.dlg = QDialog()
        self.dlg.setWindowTitle("Hi")
        self.dlg.setGeometry(100, 100, 500, 300)
        self.dlg.show()

        self.layout = QVBoxLayout()
        self.button = QPushButton("클릭")
        self.button.clicked.connect(self.buttonClicked)
        self.edit   = QLineEdit()

        self.layout.addWidget(self.button)
        self.layout.addWidget(self.edit)
        
        self.dlg.setLayout(self.layout)

    def buttonClicked(self):
        print("clicked")

def main():
    app = QApplication(sys.argv)  # Queue 메모리에서 이벤트를 가져 오기 위한 loop    my = MyWindow()
    app.exec() # 무한 루프. Queue 메모리 체크    print("end...")

if __name__ == '__main__':
    main()




from PyQt5.QtWidgets import *
from PyQt5.uic import loadUi # XML UI 정보를 로딩해서 객체를 생성해 줌.import sys

class MyWin:
    def __init__(self):
        self.dlg = loadUi("a.ui")
        self.dlg.show()

        self.dlg.pushButton.clicked.connect(self.buttonClicked)
        self.dlg.radioButton.toggled.connect(lambda : print("toggled"))


    def buttonClicked(self):
        print("clicked")
        # print(self.dlg.lineEdit.setText("dadsd")) # designer에 있는 속성에서 set과 속성 첫글자를 대문자로 바꿔주면 설정 함수이다.(대개)        print(self.dlg.lineEdit.text()) # designeer의 속성 이름에 ()를 붙여주면 값이 넘어 온다.
app = QApplication(sys.argv)
a = MyWin()
app.exec()





from PyQt5.QtWidgets import *
from PyQt5.uic import loadUi # XML UI 정보를 로딩해서 객체를 생성해 줌.import sys

class MyWin:
    def __init__(self):
        self.dlg = loadUi("b.ui")
        self.dlg.show()

        self.dlg.pushButton.clicked.connect(self.buttonClicked)

    def buttonClicked(self):
        print("clicked")
        print(self.dlg.spinBox.value(), self.dlg.spinBox_2.value())
        s = self.dlg.spinBox.value()+self.dlg.spinBox_2.value();
        print(s)
        self.dlg.lineEdit.setText(str(s))

app = QApplication(sys.argv)
a = MyWin()
app.exec()




from PyQt5.QtWidgets import *
from PyQt5.uic import loadUi # XML UI 정보를 로딩해서 객체를 생성해 줌.import sys

class MyWin:
    def __init__(self):
        self.dlg = loadUi("d.ui")
        self.dlg.show()

        self.dlg.pushButton.clicked.connect(self.buttonClicked)
        self.init_widget()

    def init_widget(self):
        self.dlg.listWidget.addItems(['LG1', 'LG2', 'LG3', 'LG4'])
        self.dlg.listWidget.clicked.connect(self.buttonClicked)
        self.dlg.actionMenu2.triggered.connect(self.buttonClicked_menu2)

    def buttonClicked_menu2(self):
        print("buttonClicked_menu2")
        self.pop = loadUi("a.ui")
        #self.pop.show()# show는 modalless. exec는 모달로 구동 함.        self.pop.exec()
        print("hello") # exec로 실행한 경우, dlg가 닫혀야 이 라인이 실행된다.
    def buttonClicked(self):
        print("clicked")
        # print(self.dlg.spinBox.value(), self.dlg.spinBox_2.value())        # s = self.dlg.spinBox.value()+self.dlg.spinBox_2.value();        print(self.dlg.listWidget.currentItem().text())
        self.dlg.lineEdit.setText(self.dlg.listWidget.currentItem().text())

app = QApplication(sys.argv)
a = MyWin()
app.exec()





댓글 없음:

댓글 쓰기