我有两个剧本。On称为报告,使用pyqt4设计器创建,并转换为.py文件。另一种叫做续约。这是一个后端脚本,它包含一个名为run_renewals的函数,该函数在报表文件中被调用。
下面是来自Reports.py的相关代码(图形用户界面文件)
from PyQt4 import QtCore, QtGui
from Renewals import run_renewals
import pandas as pd
import sys
self.Go = QtGui.QPushButton(Form)
self.Go.clicked.connect(run_renewals)
self.Go.clicked.connect(self.on_Go_clicked)
self.Go.setObjectName(_fromUtf8("Go"))
self.As_of_Date = QtGui.QDateEdit(Form)
self.As_of_Date.setObjectName(_fromUtf8("As_of_Date"))
@QtCore.pyqtSlot()
def on_Go_clicked(self):
AOD = self.As_of_Date.date()
End_Date = AOD.toPyDate()下面是来自Renewals.py文件的快照
import pandas as pd
import datetime as dt
def run_renewals():
End_Date = pd.to_datetime(End_Date)基本上,在报告文件中,我有一个名为Go的按钮。我想要做的是,当它被按下时,它接受as_of_date QdateEdit输入,将它带到更新文件中,并在更新文件中运行run_renewals函数。
我知道我的代码错了,但我不知道我该从哪里出发。
发布于 2016-03-11 19:42:08
您的示例代码似乎已经完成了您想要的大部分工作。主要的更改是向run_renewals添加一个参数
import pandas as pd
import datetime as dt
def run_renewals(end_date):
# do stuff with end_date ...注意,这里不需要使用pd.to_datetime,因为end_date已经是datetime对象了。
这样,GUI文件应该如下所示:
from PyQt4 import QtCore, QtGui
from Renewals import run_renewals
import pandas as pd
import sys
self.Go = QtGui.QPushButton(Form)
self.Go.clicked.connect(self.on_Go_clicked)
self.As_of_Date = QtGui.QDateEdit(Form)
def on_Go_clicked(self):
# this converts a QDate to a datetime object
end_date = self.As_of_Date.date().toPyDate()
run_renewals(end_date)https://stackoverflow.com/questions/35947544
复制相似问题