请问获取qt designer中date/time edit 设定的时间,并赋值给一个变量?

请问获取qt designer中date/time edit 设定的时间,并赋值给一个变量?

问题描述:

用的是Python3.9.2,代码如下:

from PyQt5 import QtCore, QtGui, QtWidgets, uic
import test
import sys


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(873, 565)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.textBrowser = QtWidgets.QTextBrowser(self.centralwidget)
        self.textBrowser.setGeometry(QtCore.QRect(550, 10, 301, 351))
        self.textBrowser.setObjectName("textBrowser")
        self.dateTimeEdit = QtWidgets.QDateTimeEdit(self.centralwidget)
        self.dateTimeEdit.setGeometry(QtCore.QRect(10, 370, 521, 111))
        font = QtGui.QFont()
        font.setFamily("Old English Text MT")
        font.setPointSize(20)
        font.setBold(True)
        font.setWeight(75)
        font.setStyleStrategy(QtGui.QFont.PreferAntialias)
        self.dateTimeEdit.setFont(font)
        self.dateTimeEdit.setObjectName("dateTimeEdit")
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(50, 132, 261, 131))
        self.pushButton.setObjectName("pushButton")
        MainWindow.setCentralWidget(self.centralwidget)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

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

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.dateTimeEdit.setDisplayFormat(_translate("MainWindow", "yyyy-MM-dd HH:mm:ss"))
        self.pushButton.setText(_translate("MainWindow", "tb"))
        self.pushButton.clicked.connect(self.OpenClick)
    def OpenClick(self):
        time = 
        test.ALL()
if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

我们希望获得qt designer中date/time edit 设定的时间,就是下方这个

并作为一个值给子程序的一个变量,即下方中的变量time。

def OpenClick(self):
        time = 
        buytest.ALL()

我们尝试过:

dt = self.dateTimeEdit.dateTime()
dt_string = dt.toString(self.dateTimeEdit.displayFormat())
self.textEdit.setText(dt_string)
datetime = QDateTime.currentDateTime()
time = datetime.toString()

 但是都无法获取datetime edit中设定的时间,并且会导致程序崩溃。

 

将time格式化一下

直接赋值就可以啊。python的等号不是所有类型都可以赋值嘛。。

参考一下:https://blog.csdn.net/qq_44880255/article/details/107307353,你获取的方法没错,只是你没有设置相应的参数,比如

datetime = QDateTime.currentDateTime()

正确操作是

dateTimeEdit = QDateTimeEdit(self)

dateTimeEdit2 = QDateTimeEdit(QDateTime.currentDateTime(),self)

希望对你有帮助,如有帮助,望采纳,谢谢

您的问题已经有小伙伴解答了,请点击【采纳】按钮,采纳帮您提供解决思路的答案,给回答的人一些鼓励哦~~

ps:开通问答VIP,享受5次/月 有问必答服务,了解详情↓↓↓

【电脑端】戳>>>  https://vip.csdn.net/askvip?utm_source=1146287632
【APP 】  戳>>>  https://mall.csdn.net/item/52471?utm_source=1146287632