以下脚本正在创建一个非常简单的GUI,其中只包含QDateTimeEdit和QPushButton(可以运行该脚本):
import sys
import os
from PyQt4 import QtGui
from PyQt4 import *
class SmallGUI(QtGui.QMainWindow):
def __init__(self):
super(SmallGUI,self).__init__()
self.initUI()
def initUI(self):
self.setGeometry(300,300,300,300)
self.setWindowTitle('Sample')
#Calendar input
self.MyInput = QtGui.QDateTimeEdit(self)
self.MyInput.setCalendarPopup(True)
self.MyInput.setDisplayFormat("dd/MM/yyyy hh:mm")
self.MyInput.setGeometry(88,25,110,20)
###############
#Clear button
self.MyButton = QtGui.QPushButton(self)
self.MyButton.setGeometry(QtCore.QRect(88,65,110,20))
self.MyButton.setText('Clear date')
###############
QtCore.QObject.connect(self.MyButton,QtCore.SIGNAL("clicked(bool)"),self.clearDate)
self.show()
def clearDate(self):
self.MyInput.clear()
def main():
app = QtGui.QApplication(sys.argv)
sampleForm = SmallGUI()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
但是,当我单击“清除日期”按钮时,QDateTimeEdit的方法.clear()仅清除前两个值(仅当天),它似乎停在“/”处。我试图阅读该对象的一些文档,但我找不到自己的方式。当按下按钮时,有谁知道如何完全清空输入框?
答案 0 :(得分:2)
以下代码怎么样?
def clearDate(self):
self.MyInput.findChild(QtGui.QLineEdit).setText('')
请参阅http://www.riverbankcomputing.com/pipermail/pyqt/2009-February/021753.html