# -*- 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초마다 계속 생성.
'19후기 졸업과제 > 3월' 카테고리의 다른 글
2020.03.30 그리드맵 위치정보 place변환 (0) | 2020.03.30 |
---|---|
2020.03.27 route_find.py 길찾기 (0) | 2020.03.27 |
2020.03.25 콜시나리오, gridmap 병합. (0) | 2020.03.25 |
2020.03.21 사용자 콜 시나리오 생성 ver.2.0.0 (0) | 2020.03.21 |
예상 gui (0) | 2020.03.20 |