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

# Form implementation generated from reading ui file 'test.ui'
#
# Created by: PyQt5 UI code generator 5.13.0
#
# WARNING! All changes made in this file will be lost!


from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5 import uic
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
import pandas as pd
import csv
import threading
from pandas import DataFrame as df
import random
class pandasModel(QAbstractTableModel):
    def __init__(self, data):
        QAbstractTableModel.__init__(self)
        self._data = data

    def rowCount(self, parent=None):
        return self._data.shape[0]

    def columnCount(self, parnet=None):
        return self._data.shape[1]

    def data(self, index, role=Qt.DisplayRole):
        if index.isValid():
            if role == Qt.DisplayRole:
                return str(self._data.iloc[index.row(), index.column()])
        return None

    def headerData(self, col, orientation, role):
        if orientation == Qt.Horizontal and role == Qt.DisplayRole:
            return self._data.columns[col]
        return None

class generate(object):
    def setupUi(self, Dialog):
        self.count =0
        Dialog.setObjectName("Dialog")
        Dialog.resize(771, 300)
        self.pushButton = QtWidgets.QPushButton(Dialog)
        self.pushButton.setGeometry(QtCore.QRect(10, 10, 141, 281))
        font = QtGui.QFont()
        font.setPointSize(16)
        self.pushButton.setFont(font)
        self.pushButton.setObjectName("pushButton")
        self.pushButton.clicked.connect(self.timegen)
        self.scrollArea = QtWidgets.QScrollArea(Dialog)
        self.scrollArea.setGeometry(QtCore.QRect(160, 10, 601, 281))
        self.scrollArea.setWidgetResizable(True)
        self.scrollArea.setObjectName("scrollArea")
        self.scrollAreaWidgetContents = QtWidgets.QWidget()
        self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 599, 279))
        self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents")
        self.tableView = QtWidgets.QTableView(self.scrollAreaWidgetContents)
        self.tableView.setGeometry(QtCore.QRect(0, 0, 601, 281))
        self.tableView.setObjectName("tableView")


        self.scrollArea.setWidget(self.scrollAreaWidgetContents)

        self.retranslateUi(Dialog)
        QtCore.QMetaObject.connectSlotsByName(Dialog)

        data = {'x':[] , 'y': [],'합승여부': [], '탑승인원':[]}
        self.df1 = pd.DataFrame(data)

    def timegen(self):
##      timer = threading.Timer(3,self.timegen)
        print('test')
        self.cc = ["yes","no"]
        self.df1.loc[self.count] = [random.randint(1,100),random.randint(1,100),self.cc[random.randint(0,1)],random.randint(1,4)]
        self.count+= 1
        model1 = pandasModel(self.df1)
        self.tableView.setModel(model1)
##      timer.start()

    def retranslateUi(self, Dialog):
        _translate = QtCore.QCoreApplication.translate
        Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
        self.pushButton.setText(_translate("Dialog", "generate"))


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

generate 버튼 누를 시 랜덤하게 사용자 좌표생성.

## 주석에 시간함수가 있으니 주석지우고 사용하면 3초마다 계속 생성.

+ Recent posts