Amin Ahmadi
4 سال پیش توسط Amin Ahmadi مطرح شد
4 پاسخ

تاریخ فارسی در PyQt5

سلام دوستان
بنده بتازگی با pyqt5 آشنا شدم
میخوام یه برنامه دسکتاپ بنویسم ولی تو این برنامه بشدت به انتخابگر تاریخ شمسی و همچنین فیلتر اطلاعات بر اساس تاریخ شمسی نیاز دارم اما یه موضوعی هست که ذهنمو مشغول کرده!
اینکه تو pyqt5 خبری از datepicker شمسی هست؟ چون بنده هرچی گوگل کردم چیز مفیدی پیدا نکردم!!
آیا اصن pyqt5 تاریخ شمسی را پشتیبانی میکند؟


ثبت پرسش جدید
رایموند
تخصص : مختصص وردپرس - برنامه نویس لار...
@Raymond 4 سال پیش مطرح شد
Amin Ahmadi
@amindeist 4 سال پیش مطرح شد
0

سپاس دوست عزیز
برای datepicker شمسی چیکار کنم؟ توی pyqt5 ویجتی برای انتخابگر تاریخ شمسی وجود نداره


سجاد
@پایتون 1 سال پیش آپدیت شد
0

سلام عزیز منم همین مشکل رو داشتم حدود 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

سوال دیگه ای هم داشتی بپرس


سجاد
@پایتون 1 سال پیش آپدیت شد
0

اینم با پای کیوتی 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())

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام