»Ë»Ñ Æ÷·³

ÆÄÀ̽ã 3.6 PyQt5 Áú¹®1

  • [* ºñȸ¿ø *]
  • µî·ÏÀÏ 2017-12-22 11:05
  • Á¶È¸¼ö 1089
# list.py ¿Í ui¿Í view.py ¿¡ °üÇÑ Áú¹®ÀÔ´Ï´Ù. PyQt5·Î ÀÛ¾÷ÇÏ¿´°í, pymysql À» »ç¿ëÇÏ¿´½À´Ï´Ù. ´äº¯ ºÎŹµå¸³´Ï´Ù ¤Ð

==list.py==
# coding: utf-8
 
import sys
import os
from PyQt5 import QtWidgets
from PyQt5 import QtGui
from PyQt5 import uic
from PyQt5 import QtCore
from PyQt5.QtCore import pyqtSlot

import pymysql
 
# MySQL Connection ¿¬°á
conn = pymysql.connect(host='localhost', user='test', password='',
                       db='test', charset='utf8')
 
# Connection À¸·ÎºÎÅÍ Cursor »ý¼º
curs = conn.cursor()
 
# SQL¹® ½ÇÇà
sql = "select * from customer"
curs.execute(sql)
 
# µ¥ÀÌŸ Fetch
rows = curs.fetchall()

# Connection ´Ý±â
conn.close()
 
class Form(QtWidgets.QDialog):
    def __init__(self, parent=None):
        QtWidgets.QDialog.__init__(self, parent)
        self.ui = uic.loadUi("list.ui", self)
        self.ui.show()
        
        self.ui.label_2.setText(rows[0][1]) # ±èÁ¤¼ö
        self.ui.label_3.setText(rows[1][1]) # °­¼öÁ¤
        self.ui.label_4.setText(rows[2][1]) # À̼ºÁø
        self.ui.label_5.setText(rows[3][1]) # È«´ë±â

    @pyqtSlot()
    def write(self):
        os.system('write.py');
 
if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    w = Form()
    sys.exit(app.exec())

# Áú¹® 1
# ¿©±â¼­  self.ui.label_2.setText(rows[0][1]) ºÎºÐÀ» for ¹®À¸·Î 10°³¸¦ Ãâ·ÂÇÏ·Á°í ÇÕ´Ï´Ù. ±×·±µ¥ ±× ¹æ¹ýÀ» ¸ð¸£°Ú½À´Ï´Ù.. ±×·¡¼­ Áö±ÝÀº ÀÏÀÏÀÌ Àú·¸°Ô Ãâ·ÂÇسõ±â¸¸ Çß½À´Ï´Ù.. ¾î¶»°Ô Çϸé 10°³¸¦ Àú·¸°Ô ¾È Âï°í for ¹®À¸·Î µ¹¸± ¼ö ÀÖÀ»±î¿ä?
# ¿øÇÏ´Â ±â´ÉÀº page= 1 À̸é, 0, 10 ±îÁö Ãâ·ÂÇÏ°í, page=2 À̸é 10,20 .. ÀÌ·±½ÄÀ¸·Î Ãâ·ÂÇÏ±æ ¿øÇÕ´Ï´Ù.

# Áú¹® 2
# ±×¸®°í ¶Ç ÇÏ°íÀÚ ÇÏ´Â °ÍÀº self.ui.label_2.setText(rows[0][1]) À» Ŭ¸¯ÇßÀ»¶§ view.py ¸¦ È£ÃâÇϸ鼭 º¯¼ö¸¦ ³Ñ±â°í ½Í½À´Ï´Ù. ÇѸ¶µð·Î ºäÆäÀÌÁö·Î ¸µÅ©µÇ°Ô ÇÏ´Â ±â´ÉÀ» ¿øÇϴµ¥ ÆÄÀ̽ãÀ̶ó ÀÌ ±â´ÉÀ» ã°í´Â Àִµ¥ ¾î¶»°Ô ÀÌ°ÍÀ» Àû¿ëÇÒ ¼ö ÀÖÀ»±î¿ä?

# Áú¹® 3
# ¿©±â±îÁö list.py ¿¡ ´ëÇÑ ¹°À½ÀÔ´Ï´Ù. (±×¸®°í Qt Designer ·Î ¸¸µé¾ú±â ¶§¹®¿¡, list.ui ¸¦ ui·Î ºÒ·¯¿À´Â ¹æ½ÄÀ» ÃëÇߴµ¥, ¸¸¾à ui¸¦ py È­ ½ÃÄѼ­ ÀÛ¾÷ÇؾßÇÑ´Ù¸é, °Å±â¼­µµ ¸·È÷´Â°Ô ÀÖ¾ú½À´Ï´Ù. ±×°ÍÀº write ÇÔ¼öÀÇ Á¤ÀÇ¿¡ ´ëÇÑ ºÎºÐÀ¸·Î ¿¡·¯°¡ ¸ÕÀú Ãâ·ÂÀÌ µÇ¾î¼­ °Å±â¼­ºÎÅÍ °è¼Ó Çì¸Å°í ÀÖ½À´Ï´Ù. µµ¿ÍÁÖ¼¼¿ä...
# cmd ¿¡¼­ AttributeError: 'QDialog' object has no attribute  ¶ó°í ¶ß¸é¼­ ¿¡·¯°¡ ³³´Ï´Ù..


# list.ui¸¦ py È­ ½ÃÄ×À» ¶§´Â ¾Æ·¡ ÄÚµå¿Í °°½À´Ï´Ù.

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

# Form implementation generated from reading ui file 'C:\Users\Fortis-Aaron\AppData\Local\Programs\Python\Python36-32\scripts\list.ui'
#
# Created by: PyQt5 UI code generator 5.9.2
#
# WARNING! All changes made in this file will be lost!

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_Dialog(object):
    def setupUi(self, Dialog):
        Dialog.setObjectName("Dialog")
        Dialog.resize(400, 300)
        self.label = QtWidgets.QLabel(Dialog)
        self.label.setGeometry(QtCore.QRect(60, 30, 281, 31))
        self.label.setAlignment(QtCore.Qt.AlignCenter)
        self.label.setObjectName("label")
        self.label_2 = QtWidgets.QLabel(Dialog)
        self.label_2.setGeometry(QtCore.QRect(40, 60, 321, 21))
        self.label_2.setAlignment(QtCore.Qt.AlignCenter)
        self.label_2.setObjectName("label_2")
        self.label_3 = QtWidgets.QLabel(Dialog)
        self.label_3.setGeometry(QtCore.QRect(40, 80, 321, 21))
        self.label_3.setAlignment(QtCore.Qt.AlignCenter)
        self.label_3.setObjectName("label_3")
        self.label_4 = QtWidgets.QLabel(Dialog)
        self.label_4.setGeometry(QtCore.QRect(40, 100, 321, 21))
        self.label_4.setAlignment(QtCore.Qt.AlignCenter)
        self.label_4.setObjectName("label_4")
        self.label_5 = QtWidgets.QLabel(Dialog)
        self.label_5.setGeometry(QtCore.QRect(40, 120, 321, 21))
        self.label_5.setAlignment(QtCore.Qt.AlignCenter)
        self.label_5.setObjectName("label_5")
        self.pushButton = QtWidgets.QPushButton(Dialog)
        self.pushButton.setGeometry(QtCore.QRect(310, 260, 75, 23))
        self.pushButton.setObjectName("pushButton")

        self.retranslateUi(Dialog)
        self.pushButton.clicked.connect(Dialog.write)  # ÀÌ ºÎºÐÀ» ÁÖ¼®Çϸé ÀߵDZä ÇÏÁö¸¸ write ±Û¾²±â ÇÔ¼ö¸¦ ½ÇÇàÇÒ ¼ö ¾ø½À´Ï´Ù..
        QtCore.QMetaObject.connectSlotsByName(Dialog)

    def retranslateUi(self, Dialog):
        _translate = QtCore.QCoreApplication.translate
        Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
        self.label.setText(_translate("Dialog", "Á¦¸ñ"))
        self.label_2.setText(_translate("Dialog", "Á¦¸ñ~"))
        self.label_3.setText(_translate("Dialog", "Á¦¸ñ~"))
        self.label_4.setText(_translate("Dialog", "Á¦¸ñ~"))
        self.label_5.setText(_translate("Dialog", "Á¦¸ñ~"))
        self.pushButton.setText(_translate("Dialog", "±Û¾²±â"))


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Dialog = QtWidgets.QDialog()
    ui = Ui_Dialog()
    ui.setupUi(Dialog)
    Dialog.show()
    sys.exit(app.exec_())

###################################
# ui¸¦ pyÈ­ ½ÃŲ ÀÌ°ÍÀ» ÅëÇؼ­ write ÇÔ¼ö¿¡ ´ëÇÑ ¿¡·¯ ºÎºÐÀÌ ÇØ°áµÇ°í, for ¹®À» µ¹·Á¼­  self.label_2.setText(_translate("Dialog", "Á¦¸ñ~")) ¸¦ ÆäÀÌÁö¿¡ µû¶ó 10°³¸¦ Ãâ·ÂÇÒ ¼ö ÀÖ´Ù¸é ÁÁ°Ú½À´Ï´Ù...¤Ì
###################################


# Áú¹® 4
# ¸¶Áö¸·À¸·Î list.py ¿¡¼­ '±Û¾²±â' ¹öÆ°À» ´©¸£¸é write ÇÔ¼ö°¡ ½ÇÇàµÇ¾î¼­ write.py °¡ È£ÃâµÇ¾úÀ¸¸é ÁÁ°Ú½À´Ï´Ù. ÀÌ ¶§, Àú´Â ¿­·Á ÀÖ´Â list.py ¸¦ ´Ý°í ½Í½À´Ï´Ù. ±×·±µ¥ ´ÝÇôÁöÁö ¾Ê´Âµ¥ sys.exit() ¸¦ ½áºÁµµ ºÎ¸ðâÀ» ´Ý´Â ±â´ÉÀ» ãÁö ¸øÇߴµ¥¿ä.. ÀÌ·± °æ¿ì ¾î¶»°Ô ÇØ°áÇÒ ¼ö ÀÖÀ»±î¿ä¤Ð?...? ºÎŹµå¸³´Ï´Ù...¤Ð¤Ð


# ÃÖÁ¾ÀûÀ¸·Î ¿øÇÏ´Â °ÍÀº ÆÄÀ̽ã, PyQt5 ¸¦ ÅëÇؼ­ °Ô½ÃÆÇ À©µµ¿ì ÇÁ·Î±×·¥ ¿Ï¼ºÀÔ´Ï´Ù. À¥À» ÅëÇؼ­ °Ô½ÃÆÇÀ» ¸¸µå´Â °ÍÀº ±×·¸°Ô ¾î·ÆÁö ¾Ê¾Ò´Âµ¥ ÆÄÀ̽ãÀ» ÅëÇؼ­, GUI ÇÁ·Î±×·¥ ÅëÇؼ­ À©µµ¿ì ÇÁ·Î±×·¥À¸·Î ¸¸µå·Á´Ï ÀÌ°ÍÀú°Í Áú¹®À» ¸¹ÀÌ ÇÏ°Ô µÇ´Âµ¥¿ä.. ´äº¯ ºÎŹµå¸³´Ï´Ù....¤Ð¤Ð
# list.py(¸ñ·ÏÆäÀÌÁö), write.py(±Û¾²±â ÆäÀÌÁö), view.py(ºä ÆäÀÌÁö)

20171222110522_kwvnlezz.png

 

0
ÃßõÇϱ⠴ٸ¥ÀÇ°ß 0
|
°øÀ¯¹öÆ°
÷ºÎÆÄÀÏ
  • uiui.png

´Ù¸¥ÀÇ°ß 0 Ãßõ 0 ¾È´¨¸¶À̽ã
2018-06-09 * Á¡¾ÆÀÌÄÜ
  1. ´ñ±ÛÁÖ¼Òº¹»ç
  • ¾Ë¸² ¿å¼³, »óó ÁÙ ¼ö ÀÖ´Â ¾ÇÇÃÀº »ï°¡ÁÖ¼¼¿ä.
©¹æ »çÁø  
¡â ÀÌÀü±Û¡ä ´ÙÀ½±Û