2015-07-20 66 views
-1

我用了一個dateTimeEdit和按鈕設置鬧鐘時間通過按鈕和設置dateTimeEdit時間,但我不知道我的想法是否正確與否。如何在Python和PyQt的

我想到的是點擊按鈕時,將編輯dateTimeEdit。因此,我的問題是我想知道什麼函數是正確的,通過按鈕設置dateTimeEdit的時間。

這是我的代碼。

# -*- coding: utf-8 -*- 
# Form implementation generated from reading ui file 'setting_AC.ui' 
# 
# Created by: PyQt4 UI code generator 4.11.4 
# 
# WARNING! All changes made in this file will be lost! 

from PyQt4 import QtCore, QtGui 
import sys 
import time 

try: 
    _fromUtf8 = QtCore.QString.fromUtf8 
except AttributeError: 
    def _fromUtf8(s): 
     return s 

try: 
    _encoding = QtGui.QApplication.UnicodeUTF8 
    def _translate(context, text, disambig): 
     return QtGui.QApplication.translate(context, text, disambig, _encoding) 
except AttributeError: 
    def _translate(context, text, disambig): 
     return QtGui.QApplication.translate(context, text, disambig) 

class setting_AC(QtGui.QWidget): 
def __init__(self, parent = None): 
    QtGui.QWidget.__init__(self, parent) 
    self.setupUi(self) 
def setupUi(self, Form): 
    Form.setObjectName(_fromUtf8("Form")) 
    Form.resize(320, 240) 
    self.pushButton = QtGui.QPushButton(Form) 
    self.pushButton.setGeometry(QtCore.QRect(150, 200, 71, 31)) 
    self.pushButton.setObjectName(_fromUtf8("pushButton")) 
    self.pushButton_2 = QtGui.QPushButton(Form) 
    self.pushButton_2.setGeometry(QtCore.QRect(240, 200, 71, 31)) 
    self.pushButton_2.setObjectName(_fromUtf8("pushButton_2")) 
    self.tabWidget = QtGui.QTabWidget(Form) 
    self.tabWidget.setGeometry(QtCore.QRect(10, 10, 301, 181)) 
    self.tabWidget.setObjectName(_fromUtf8("tabWidget")) 
    self.tab = QtGui.QWidget() 
    self.tab.setObjectName(_fromUtf8("tab")) 
    self.dateTimeEdit = QtGui.QDateTimeEdit(self.tab) 
    self.dateTimeEdit.setGeometry(QtCore.QRect(140, 10, 101, 41)) 
    font = QtGui.QFont() 
    font.setFamily(_fromUtf8("Pristina")) 
    font.setPointSize(24) 
    font.setBold(True) 
    font.setWeight(75) 
    self.dateTimeEdit.setFont(font) 
    self.dateTimeEdit.setAlignment(QtCore.Qt.AlignCenter) 
    self.dateTimeEdit.setButtonSymbols(QtGui.QAbstractSpinBox.NoButtons) 
    self.dateTimeEdit.setSpecialValueText(_fromUtf8("")) 
    self.dateTimeEdit.setMinimumTime(QtCore.QTime(0, 0, 0)) 
    self.dateTimeEdit.setObjectName(_fromUtf8("timeEdit")) 
    self.label = QtGui.QLabel(self.tab) 
    self.label.setGeometry(QtCore.QRect(10, 10, 111, 41)) 
    font = QtGui.QFont() 
    font.setPointSize(12) 
    self.label.setFont(font) 
    self.label.setObjectName(_fromUtf8("label")) 
    self.gridLayoutWidget = QtGui.QWidget(self.tab) 
    self.gridLayoutWidget.setGeometry(QtCore.QRect(10, 54, 271, 101)) 
    self.gridLayoutWidget.setObjectName(_fromUtf8("gridLayoutWidget")) 
    self.gridLayout = QtGui.QGridLayout(self.gridLayoutWidget) 
    self.gridLayout.setObjectName(_fromUtf8("gridLayout")) 
    self.pushButton_10 = QtGui.QPushButton(self.gridLayoutWidget) 
    font = QtGui.QFont() 
    font.setFamily(_fromUtf8("Cambria")) 
    font.setPointSize(12) 
    font.setBold(True) 
    font.setWeight(75) 
    self.pushButton_10.setFont(font) 
    self.pushButton_10.setObjectName(_fromUtf8("pushButton_10")) 
    self.gridLayout.addWidget(self.pushButton_10, 1, 3, 1, 1) 
    self.pushButton_8 = QtGui.QPushButton(self.gridLayoutWidget) 
    font = QtGui.QFont() 
    font.setFamily(_fromUtf8("Cambria")) 
    font.setPointSize(12) 
    font.setBold(True) 
    font.setWeight(75) 
    self.pushButton_8.setFont(font) 
    self.pushButton_8.setObjectName(_fromUtf8("pushButton_8")) 
    self.gridLayout.addWidget(self.pushButton_8, 1, 1, 1, 1) 
    self.pushButton_6 = QtGui.QPushButton(self.gridLayoutWidget) 
    font = QtGui.QFont() 
    font.setFamily(_fromUtf8("Cambria")) 
    font.setPointSize(12) 
    font.setBold(True) 
    font.setWeight(75) 
    self.pushButton_6.setFont(font) 
    self.pushButton_6.setObjectName(_fromUtf8("pushButton_6")) 
    self.gridLayout.addWidget(self.pushButton_6, 0, 3, 1, 1) 
    self.pushButton_7 = QtGui.QPushButton(self.gridLayoutWidget) 
    font = QtGui.QFont() 
    font.setFamily(_fromUtf8("Cambria")) 
    font.setPointSize(12) 
    font.setBold(True) 
    font.setWeight(75) 
    self.pushButton_7.setFont(font) 
    self.pushButton_7.setObjectName(_fromUtf8("pushButton_7")) 
    self.gridLayout.addWidget(self.pushButton_7, 1, 0, 1, 1) 
    self.pushButton_9 = QtGui.QPushButton(self.gridLayoutWidget) 
    font = QtGui.QFont() 
    font.setFamily(_fromUtf8("Cambria")) 
    font.setPointSize(12) 
    font.setBold(True) 
    font.setWeight(75) 
    self.pushButton_9.setFont(font) 
    self.pushButton_9.setObjectName(_fromUtf8("pushButton_9")) 
    self.gridLayout.addWidget(self.pushButton_9, 1, 2, 1, 1) 
    self.pushButton_4 = QtGui.QPushButton(self.gridLayoutWidget) 
    font = QtGui.QFont() 
    font.setFamily(_fromUtf8("Cambria")) 
    font.setPointSize(12) 
    font.setBold(True) 
    font.setWeight(75) 
    self.pushButton_4.setFont(font) 
    self.pushButton_4.setObjectName(_fromUtf8("pushButton_4")) 
    self.gridLayout.addWidget(self.pushButton_4, 0, 1, 1, 1) 
    self.pushButton_5 = QtGui.QPushButton(self.gridLayoutWidget) 
    font = QtGui.QFont() 
    font.setFamily(_fromUtf8("Cambria")) 
    font.setPointSize(12) 
    font.setBold(True) 
    font.setWeight(75) 
    self.pushButton_5.setFont(font) 
    self.pushButton_5.setObjectName(_fromUtf8("pushButton_5")) 
    self.gridLayout.addWidget(self.pushButton_5, 0, 2, 1, 1) 
    self.pushButton_3 = QtGui.QPushButton(self.gridLayoutWidget) 
    font = QtGui.QFont() 
    font.setFamily(_fromUtf8("Cambria")) 
    font.setPointSize(12) 
    font.setBold(True) 
    font.setWeight(75) 
    self.pushButton_3.setFont(font) 
    self.pushButton_3.setObjectName(_fromUtf8("pushButton_3")) 
    self.gridLayout.addWidget(self.pushButton_3, 0, 0, 1, 1) 
    self.pushButton_11 = QtGui.QPushButton(self.gridLayoutWidget) 
    font = QtGui.QFont() 
    font.setFamily(_fromUtf8("Cambria")) 
    font.setPointSize(12) 
    font.setBold(True) 
    font.setWeight(75) 
    self.pushButton_11.setFont(font) 
    self.pushButton_11.setObjectName(_fromUtf8("pushButton_11")) 
    self.gridLayout.addWidget(self.pushButton_11, 2, 0, 1, 1) 
    self.pushButton_12 = QtGui.QPushButton(self.gridLayoutWidget) 
    font = QtGui.QFont() 
    font.setFamily(_fromUtf8("Cambria")) 
    font.setPointSize(12) 
    font.setBold(True) 
    font.setWeight(75) 
    self.pushButton_12.setFont(font) 
    self.pushButton_12.setObjectName(_fromUtf8("pushButton_12")) 
    self.gridLayout.addWidget(self.pushButton_12, 2, 1, 1, 1) 
    self.pushButton_13 = QtGui.QPushButton(self.gridLayoutWidget) 
    font = QtGui.QFont() 
    font.setFamily(_fromUtf8("Cambria")) 
    font.setPointSize(12) 
    font.setBold(True) 
    font.setWeight(75) 
    self.pushButton_13.setFont(font) 
    self.pushButton_13.setObjectName(_fromUtf8("pushButton_13")) 
    self.gridLayout.addWidget(self.pushButton_13, 2, 2, 1, 1) 
    self.tabWidget.addTab(self.tab, _fromUtf8("")) 
    self.tab_2 = QtGui.QWidget() 
    self.tab_2.setObjectName(_fromUtf8("tab_2")) 
    self.label_2 = QtGui.QLabel(self.tab_2) 
    self.label_2.setGeometry(QtCore.QRect(10, 10, 71, 41)) 
    font = QtGui.QFont() 
    font.setPointSize(12) 
    self.label_2.setFont(font) 
    self.label_2.setObjectName(_fromUtf8("label_2")) 
    self.gridLayoutWidget_2 = QtGui.QWidget(self.tab_2) 
    self.gridLayoutWidget_2.setGeometry(QtCore.QRect(0, 69, 291, 81)) 
    self.gridLayoutWidget_2.setObjectName(_fromUtf8("gridLayoutWidget_2")) 
    self.gridLayout_2 = QtGui.QGridLayout(self.gridLayoutWidget_2) 
    self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2")) 
    self.pushButton_14 = QtGui.QPushButton(self.gridLayoutWidget_2) 
    font = QtGui.QFont() 
    font.setFamily(_fromUtf8("Calibri")) 
    font.setPointSize(12) 
    font.setBold(True) 
    font.setItalic(False) 
    font.setWeight(75) 
    self.pushButton_14.setFont(font) 
    self.pushButton_14.setObjectName(_fromUtf8("pushButton_14")) 
    self.gridLayout_2.addWidget(self.pushButton_14, 0, 0, 1, 1) 
    self.pushButton_17 = QtGui.QPushButton(self.gridLayoutWidget_2) 
    font = QtGui.QFont() 
    font.setFamily(_fromUtf8("Calibri")) 
    font.setPointSize(12) 
    font.setBold(True) 
    font.setItalic(False) 
    font.setWeight(75) 
    self.pushButton_17.setFont(font) 
    self.pushButton_17.setObjectName(_fromUtf8("pushButton_17")) 
    self.gridLayout_2.addWidget(self.pushButton_17, 0, 3, 1, 1) 
    self.pushButton_16 = QtGui.QPushButton(self.gridLayoutWidget_2) 
    font = QtGui.QFont() 
    font.setFamily(_fromUtf8("Calibri")) 
    font.setPointSize(12) 
    font.setBold(True) 
    font.setItalic(False) 
    font.setWeight(75) 
    self.pushButton_16.setFont(font) 
    self.pushButton_16.setObjectName(_fromUtf8("pushButton_16")) 
    self.gridLayout_2.addWidget(self.pushButton_16, 0, 2, 1, 1) 
    self.pushButton_15 = QtGui.QPushButton(self.gridLayoutWidget_2) 
    font = QtGui.QFont() 
    font.setFamily(_fromUtf8("Calibri")) 
    font.setPointSize(12) 
    font.setBold(True) 
    font.setItalic(False) 
    font.setWeight(75) 
    self.pushButton_15.setFont(font) 
    self.pushButton_15.setObjectName(_fromUtf8("pushButton_15")) 
    self.gridLayout_2.addWidget(self.pushButton_15, 0, 1, 1, 1) 
    self.pushButton_18 = QtGui.QPushButton(self.gridLayoutWidget_2) 
    font = QtGui.QFont() 
    font.setFamily(_fromUtf8("Calibri")) 
    font.setPointSize(12) 
    font.setBold(True) 
    font.setItalic(False) 
    font.setWeight(75) 
    self.pushButton_18.setFont(font) 
    self.pushButton_18.setObjectName(_fromUtf8("pushButton_18")) 
    self.gridLayout_2.addWidget(self.pushButton_18, 1, 0, 1, 1) 
    self.pushButton_19 = QtGui.QPushButton(self.gridLayoutWidget_2) 
    font = QtGui.QFont() 
    font.setFamily(_fromUtf8("Calibri")) 
    font.setPointSize(12) 
    font.setBold(True) 
    font.setItalic(False) 
    font.setWeight(75) 
    self.pushButton_19.setFont(font) 
    self.pushButton_19.setObjectName(_fromUtf8("pushButton_19")) 
    self.gridLayout_2.addWidget(self.pushButton_19, 1, 1, 1, 1) 
    self.pushButton_20 = QtGui.QPushButton(self.gridLayoutWidget_2) 
    font = QtGui.QFont() 
    font.setFamily(_fromUtf8("Calibri")) 
    font.setPointSize(12) 
    font.setBold(True) 
    font.setItalic(False) 
    font.setWeight(75) 
    self.pushButton_20.setFont(font) 
    self.pushButton_20.setObjectName(_fromUtf8("pushButton_20")) 
    self.gridLayout_2.addWidget(self.pushButton_20, 1, 2, 1, 1) 
    self.pushButton_21 = QtGui.QPushButton(self.gridLayoutWidget_2) 
    font = QtGui.QFont() 
    font.setFamily(_fromUtf8("Calibri")) 
    font.setPointSize(12) 
    font.setBold(True) 
    font.setItalic(False) 
    font.setWeight(75) 
    self.pushButton_21.setFont(font) 
    self.pushButton_21.setObjectName(_fromUtf8("pushButton_21")) 
    self.gridLayout_2.addWidget(self.pushButton_21, 1, 3, 1, 1) 
    self.lineEdit = QtGui.QLineEdit(self.tab_2) 
    self.lineEdit.setGeometry(QtCore.QRect(80, 20, 211, 21)) 
    self.lineEdit.setMaxLength(35) 
    self.lineEdit.setObjectName(_fromUtf8("lineEdit")) 
    self.tabWidget.addTab(self.tab_2, _fromUtf8("")) 
    self.tab_3 = QtGui.QWidget() 
    self.tab_3.setObjectName(_fromUtf8("tab_3")) 
    self.radioButton = QtGui.QRadioButton(self.tab_3) 
    self.radioButton.setGeometry(QtCore.QRect(10, 10, 51, 41)) 
    self.radioButton.setObjectName(_fromUtf8("radioButton")) 
    self.radioButton_2 = QtGui.QRadioButton(self.tab_3) 
    self.radioButton_2.setGeometry(QtCore.QRect(10, 50, 51, 41)) 
    self.radioButton_2.setObjectName(_fromUtf8("radioButton_2")) 
    self.radioButton_3 = QtGui.QRadioButton(self.tab_3) 
    self.radioButton_3.setGeometry(QtCore.QRect(10, 90, 51, 41)) 
    self.radioButton_3.setObjectName(_fromUtf8("radioButton_3")) 
    self.lineEdit_2 = QtGui.QLineEdit(self.tab_3) 
    self.lineEdit_2.setGeometry(QtCore.QRect(70, 99, 211, 21)) 
    self.lineEdit_2.setObjectName(_fromUtf8("lineEdit_2")) 
    self.tabWidget.addTab(self.tab_3, _fromUtf8("")) 

    self.retranslateUi(Form) 
    self.tabWidget.setCurrentIndex(0) 
    QtCore.QMetaObject.connectSlotsByName(Form) 

def retranslateUi(self, Form): 
    Form.setWindowTitle(_translate("Form", "Setting_AC", None)) 
    self.pushButton.setText(_translate("Form", "完成", None)) 
    self.pushButton_2.setText(_translate("Form", "返回", None)) 
    self.dateTimeEdit.setDisplayFormat(_translate("Form", "hh:mm", None)) 
    self.label.setText(_translate("Form", "設定(24小時制)", None)) 
    self.pushButton_10.setText(_translate("Form", "8", None)) 
    self.pushButton_8.setText(_translate("Form", "6", None)) 
    self.pushButton_6.setText(_translate("Form", "4", None)) 
    self.pushButton_7.setText(_translate("Form", "5", None)) 
    self.pushButton_9.setText(_translate("Form", "7", None)) 
    self.pushButton_4.setText(_translate("Form", "2", None)) 
    self.pushButton_5.setText(_translate("Form", "3", None)) 
    self.pushButton_3.setText(_translate("Form", "1", None)) 
    self.pushButton_11.setText(_translate("Form", "9", None)) 
    self.pushButton_12.setText(_translate("Form", "0", None)) 
    self.pushButton_13.setText(_translate("Form", "Reset", None)) 
    self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("Form", "時間設定", None)) 
    self.label_2.setText(_translate("Form", "重複週期", None)) 
    self.pushButton_14.setText(_translate("Form", "Sun.", None)) 
    self.pushButton_17.setText(_translate("Form", "Wed.", None)) 
    self.pushButton_16.setText(_translate("Form", "Tue.", None)) 
    self.pushButton_15.setText(_translate("Form", "Mon.", None)) 
    self.pushButton_18.setText(_translate("Form", "Thu.", None)) 
    self.pushButton_19.setText(_translate("Form", "Fri.", None)) 
    self.pushButton_20.setText(_translate("Form", "Sat.", None)) 
    self.pushButton_21.setText(_translate("Form", "Reset.", None)) 
    self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("Form", "週期設定", None)) 
    self.radioButton.setText(_translate("Form", "預設1", None)) 
    self.radioButton_2.setText(_translate("Form", "預設2", None)) 
    self.radioButton_3.setText(_translate("Form", "自 訂", None)) 
    self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), _translate("Form", "鬧鈴設定", None)) 

    self.pushButton_3.clicked.connect(self.set1) 
# self.pushButton_4.clicked.connect(self.set2) 
# self.pushButton_5.clicked.connect(self.set3) 
# self.pushButton_6.clicked.connect(self.set4) 
# self.pushButton_7.clicked.connect(self.set5) 
# self.pushButton_8.clicked.connect(self.set6) 
# self.pushButton_9.clicked.connect(self.set7) 
# self.pushButton_10.clicked.connect(self.set8) 
# self.pushButton_11.clicked.connect(self.set9) 
# self.pushButton_12.clicked.connect(self.set0) 
# self.pushButton_13.clicked.connect(self.resetTime) 

    self.pushButton_14.clicked.connect(self.setSun) 
    self.pushButton_15.clicked.connect(self.setMon) 
    self.pushButton_16.clicked.connect(self.setTue) 
    self.pushButton_17.clicked.connect(self.setWed) 
    self.pushButton_18.clicked.connect(self.setThu) 
    self.pushButton_19.clicked.connect(self.setFri) 
    self.pushButton_20.clicked.connect(self.setSat) 
    self.pushButton_21.clicked.connect(self.resetPeriod) 

    self.radioButton_3.clicked.connect(self.filebroswer) 

#setting alarm time 
def set1(self,Form): 
    self.dateTimeEdit.setTime(self,) 
#setting Period 
def setSun(self,Form): 
    self.lineEdit.insert("Sun. ") 
def setMon(self,Form): 
    self.lineEdit.insert("Mon. ") 
def setTue(self,Form): 
    self.lineEdit.insert("Tue. ") 
def setWed(self,Form): 
    self.lineEdit.insert("Wed. ") 
def setThu(self,Form): 
    self.lineEdit.insert("Thu. ") 
def setFri(self,Form): 
    self.lineEdit.insert("Fri. ") 
def setSat(self,Form): 
    self.lineEdit.insert("Sat. ") 
def resetPeriod(self,Form): 
    self.lineEdit.clear() 
#setting ringstone 
def filebroswer(self,Form): 
    filter = "mp3(*.mp3)" 
    filename = QtGui.QFileDialog.getOpenFileNameAndFilter(self,"Open file", "C:\\Users\\MIS\\Desktop", filter) 
    self.lineEdit_2.setText(filename[0]) 

if __name__ == '__main__': 
app = QtGui.QApplication(sys.argv) 
ex = setting_AC() 
ex.show() 
sys.exit(app.exec_()) 
+0

問題是我想知道什麼函數是正確的,通過pushbutoon爲dateTimeEdit設置時間。 –

回答

0

確保您的(一般)編碼是更Python。例如,而不是有7個不同的功能基本上做同樣的事情(setSun,setTue ..等等)創建一個更通用和乾淨的剪切功能。

def setDay(self, Form, day): 
    self.lineEdit.insert("%s. "%(day)) 

現在,就你的問題而言。爲任意日期實際設置QDateTimeEdit的日期時間的最佳方法是使用QDate。請看以下內容:

#Create a QDate in the following format Year, Month, Day 
alarm_date = QtCore.QDate(2015,7,20) 
dateTimeEdit.setDate(alarm_date) 

所以,如果你現在結合這兩個概念,你可以做一些乾淨而pythonic的解決方案!