سلام دوستان
بنده بتازگی با pyqt5 آشنا شدم
میخوام یه برنامه دسکتاپ بنویسم ولی تو این برنامه بشدت به انتخابگر تاریخ شمسی و همچنین فیلتر اطلاعات بر اساس تاریخ شمسی نیاز دارم اما یه موضوعی هست که ذهنمو مشغول کرده!
اینکه تو pyqt5 خبری از datepicker شمسی هست؟ چون بنده هرچی گوگل کردم چیز مفیدی پیدا نکردم!!
آیا اصن pyqt5 تاریخ شمسی را پشتیبانی میکند؟
سپاس دوست عزیز
برای datepicker شمسی چیکار کنم؟ توی pyqt5 ویجتی برای انتخابگر تاریخ شمسی وجود نداره
سلام عزیز منم همین مشکل رو داشتم حدود 6 ماه پیش و میتونی با کتاب خانه جلالی و یا جی دیت تایم کار کنی
کد به صورت زیر هست :
import jdatetime
# =================================================
t1 = jdatetime.date.fromgregorian(day = 25, month = 7, year = 2005 )
print(t1)
# تبدیل میلادی به شمسی
t2 = jdatetime.date(day = 3, month = 5, year = 1384 ).togregorian()
print(t2)
برای تبدیل فقط میلادی و شمسی به هم دیگه از این میتونی استفاده کنی
برای گرفتن کتاب خونه هم به این لینک برو و در قسمت بالا بهت میگه چطوری نصب کنی
https://pypi.org/project/jdatetime/
برای اینکه فقط تاریخ شمسی رو بگیری کد زیر رو ببین :
from persiantools.jdatetime import JalaliDate, JalaliDateTime
t1 = JalaliDateTime.now()# کلا
t2 = JalaliDateTime.now().date # تاریخ
t3 = JalaliDateTime.now().time # زمان
t4 = JalaliDateTime.now().year # سال
t5 = JalaliDateTime.now().month # ماه
t6 = JalaliDateTime.now().day # روز
t7 = JalaliDateTime.now().hour # ساعت
t8 = JalaliDateTime.now().minute # دقیقه
t9 = JalaliDateTime.now().second # ثانیه
print(t1)
print(t2)
print(t3)
print(t4)
print(t5)
print(t6)
print(t7)
print(t8)
print(t9)
برای پای کیوتی 5 هم میتونی در یک لیبل یا تکست بروز یا هرچیزی که تکست نشون میده از کد زیر استفاده کنی :
self.label1.setText(f"{str(t4)} / {str(t5)} / {str(t6)}")
برای جلالی دیت تایم به لینک زیر برو :
<https://pypi.org/project/jalali/>
و
<https://pypi.org/project/persiantools/>
یا در سی ام دی سیستمت بنویس :
pip install jalali
حتما بعد این این هم در سی ام دی بنویس :
pip install persiantools
سوال دیگه ای هم داشتی بپرس
اینم با پای کیوتی 5 (PyQt5) :
from persiantools.jdatetime import JalaliDate, JalaliDateTime
import datetime
from PyQt5 import QtCore, QtGui, QtWidgets
class UiForm(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(640, 480)
self.label = QtWidgets.QLabel(Form)
self.label.setGeometry(QtCore.QRect(160, 50, 301, 51))
self.label.setObjectName("label")
self.label2 = QtWidgets.QLabel(Form)
self.label2.setGeometry(QtCore.QRect(160, 130, 301, 51))
self.label2.setObjectName("label2")
self.label3 = QtWidgets.QLabel(Form)
self.label3.setGeometry(QtCore.QRect(160, 210, 301, 51))
self.label3.setObjectName("label3")
self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)
def retranslateUi(self, Form):
translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(translate("Form", "Form"))
self.label.setText(translate("Form", "TextLabel"))
self.label2.setText(translate("Form", "TextLabel"))
self.label3.setText(translate("Form", "TextLabel"))
t1 = datetime.datetime.today().year
t2 = datetime.datetime.today().month
t3 = datetime.datetime.today().day
t4 = JalaliDateTime.now().year # سال
t5 = JalaliDateTime.now().month # ماه
t6 = JalaliDateTime.now().day # روز
t7 = JalaliDateTime.now().hour # ساعت
t8 = JalaliDateTime.now().minute # دقیقه
t9 = JalaliDateTime.now().second # ثانیه
self.label.setText(f"{str(t4)} / {str(t5)} / {str(t6)}")
self.label2.setText(f"{str(t1)} / {str(t2)} / {str(t3)}")
self.label3.setText(f"{str(t7)} : {str(t8)} : {str(t9)}")
if name == "main":
import sys
app = QtWidgets.QApplication(sys.argv)
Form = QtWidgets.QWidget()
ui = UiForm()
ui.setupUi(Form)
Form.show()
sys.exit(app.exec())
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟