Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 11, 2010 12:30:10

apologize828
От:
Зарегистрирован: 2010-02-13
Сообщения: 223
Репутация: +  1  -
Профиль   Отправить e-mail  

PyQt,QDateEdit,дата автоматически

Привет всем! покапал в доках и посмотрел в Designer, но так ничего подходящего и нашел,хотя может проглядел,а задача такая:
Есть QDateEdit и нужно чтобы в нем автоматически устанавливалась сегодняшняя дата.Подскажите как это реализовать или в какую сторону копать?
Думал думал и решил посмотреть QCalendarWidget и ведь там как-раз дата автоматически устанавливается когда его используешь(Тоже интересно знать как это реализовали)
И тогда решил все это дело объединить и сделал так:

#!usr/bin/python
#-*- coding: utf-8 -*-
from PyQt4 import QtGui,QtCore
import sys

app=QtGui.QApplication(sys.argv)
form=QtGui.QWidget()
form.resize(100,100)
#Создаю календарь и прячу его
calendar=QtGui.QCalendarWidget(form)
calendar.setHidden(True)
#Создаю датаэдит
dateedit=QtGui.QDateEdit(form)
dateedit.setCalendarPopup(True)
dateedit.setDisplayFormat("yyyy-MM-dd")
#Вытаскиваю из календаря год и месяц
year=calendar.yearShown()
month=calendar.monthShown()
#Но ненашел фкнкцию для вытаскмвания ДНЯ!!!!
dateedit.setDate(QtCore.QDate(year,month,1))

form.show()
app.exec_()
Подскажите как вытащить из календаря день? Или вообще можно ли как-то по другому реализовать такую задачу?и без календаря? Подскажите плиз уж очень интересно!!!
P.S.Может я че то проглядел и там все проще пареной репы)))



Офлайн

#2 Апрель 11, 2010 13:56:09

dartNNN
От:
Зарегистрирован: 2009-12-08
Сообщения: 199
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQt,QDateEdit,дата автоматически

Можно еще попробовать обычными питоновскими функциями брать текущее время (точно не помню какие вроде в модуле time их дофига), И не париться с календарем.



Офлайн

#3 Апрель 11, 2010 14:08:13

apologize828
От:
Зарегистрирован: 2010-02-13
Сообщения: 223
Репутация: +  1  -
Профиль   Отправить e-mail  

PyQt,QDateEdit,дата автоматически

dartNNN
Можно еще попробовать обычными питоновскими функциями брать текущее время (точно не помню какие вроде в модуле time их дофига), И не париться с календарем.
Все спасибо! направление понял ,буду копать.



Офлайн

#4 Апрель 11, 2010 14:58:43

apologize828
От:
Зарегистрирован: 2010-02-13
Сообщения: 223
Репутация: +  1  -
Профиль   Отправить e-mail  

PyQt,QDateEdit,дата автоматически

Bсе набрел на такую тему в модуле datetime:

b=datetime.date.today().year
b1=datetime.date.today().month
b2=datetime.date.today().day

dateedit=QtGui.QDateEdit(form)
dateedit.setCalendarPopup(True)
dateedit.setDisplayFormat("yyyy-MM-dd")
dateedit.setDate(QtCore.QDate(b,b1,b2))
Да но ты прав модуль time оказался более полезен,так как от туда тоже можно вытащить все что нужно!
data=time.localtime()
year=data[0]
month=data[1]
day=data[2]

dateedit=QtGui.QDateEdit(form)
dateedit.setDisplayFormat("yyyy-MM-dd")
dateedit.setDate(QtCore.QDate(year,month,day))



Отредактировано (Апрель 11, 2010 16:08:02)

Офлайн

#5 Апрель 11, 2010 16:53:23

truporez
От:
Зарегистрирован: 2009-05-08
Сообщения: 266
Репутация: +  6  -
Профиль   Адрес электронной почты  

PyQt,QDateEdit,дата автоматически

...
my_de = QtGui.QDateEdit(parent)
my_de.setDate(QtCore.QDate.currentDate())
...



Отредактировано (Апрель 11, 2010 16:53:54)

Офлайн

#6 Апрель 11, 2010 19:34:46

apologize828
От:
Зарегистрирован: 2010-02-13
Сообщения: 223
Репутация: +  1  -
Профиль   Отправить e-mail  

PyQt,QDateEdit,дата автоматически

truporez
...
my_de = QtGui.QDateEdit(parent)
my_de.setDate(QtCore.QDate.currentDate())
...
Спасибо тоже неплохо!



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version