首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将变量从qdateedit导入后端脚本

将变量从qdateedit导入后端脚本
EN

Stack Overflow用户
提问于 2016-03-11 18:37:49
回答 1查看 44关注 0票数 0

我有两个剧本。On称为报告,使用pyqt4设计器创建,并转换为.py文件。另一种叫做续约。这是一个后端脚本,它包含一个名为run_renewals的函数,该函数在报表文件中被调用。

下面是来自Reports.py的相关代码(图形用户界面文件)

代码语言:javascript
复制
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文件的快照

代码语言:javascript
复制
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函数。

我知道我的代码错了,但我不知道我该从哪里出发。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-11 19:42:08

您的示例代码似乎已经完成了您想要的大部分工作。主要的更改是向run_renewals添加一个参数

代码语言:javascript
复制
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文件应该如下所示:

代码语言:javascript
复制
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)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35947544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档