דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
ה

הפצת אנקי

@הפצת אנקי
אודות
פוסטים
262
נושאים
41
שיתופים
0
קבוצות
0
עוקבים
5
עוקב אחרי
0

פוסטים

פוסטים אחרונים הגבוה ביותר שנוי במחלוקת

  • המרת קוד מPyQt5 לPyQt6
    ה הפצת אנקי

    אני מנסה להדפיס תוכן html המוצג בQWebEngineView על ידי מדפסת. להלן יובאו דוגמאות שמבצעות זאת על ידי מדפסת של Qt - QPrinter.
    כאן יש דוגמא עובדת לpyqt5.
    אני זקוק להמרה שלה לPyqt6.
    ניסיתי לעשות זאת בעצמי ללא הצלחה.
    יש כאן דוגמא מקבילה בqt5 ל C++
    וכאן יש את אותה הדוגמא לqt6 לC++

    זה הקוד שמובא בקישור הראשון לpyqt5.

    from PyQt5.QtCore import (QCoreApplication, QEventLoop, QObject, QPointF, Qt,
                           QUrl, pyqtSlot)
    from PyQt5.QtGui import QKeySequence, QPainter
    from PyQt5.QtPrintSupport import QPrintDialog, QPrinter, QPrintPreviewDialog
    from PyQt5.QtWebEngineWidgets import QWebEnginePage, QWebEngineView
    from PyQt5.QtWidgets import QApplication, QDialog, QLabel, QProgressBar, QProgressDialog, QShortcut
    
    
    class PrintHandler(QObject):
        def __init__(self, parent = None):
            super().__init__(parent)
            self.m_page = None
            self.m_inPrintPreview = False
    
        def setPage(self, page):
            assert not self.m_page
            self.m_page = page
            self.m_page.printRequested.connect(self.printPreview)
    
        @pyqtSlot()
        def print(self):
            printer = QPrinter(QPrinter.HighResolution)
            dialog = QPrintDialog(printer, self.m_page.view())
            if dialog.exec_() != QDialog.Accepted:
                return
            self.printDocument(printer)
    
        @pyqtSlot()
        def printPreview(self):
            if not self.m_page:
                return
            if self.m_inPrintPreview:
                return
            self.m_inPrintPreview = True
            printer = QPrinter()
            preview = QPrintPreviewDialog(printer, self.m_page.view())
            preview.paintRequested.connect(self.printDocument)
            preview.exec()
            self.m_inPrintPreview = False
    
        @pyqtSlot(QPrinter)
        def printDocument(self, printer):
            loop = QEventLoop()
            result = False
    
            def printPreview(success):
                nonlocal result
                result = success
                loop.quit()
            progressbar = QProgressDialog(self.m_page.view())
            progressbar.findChild(QProgressBar).setTextVisible(False)
            progressbar.setLabelText("Wait please...")
            progressbar.setRange(0, 0)
            progressbar.show()
            progressbar.canceled.connect(loop.quit)
            self.m_page.print(printer, printPreview)
            loop.exec_()
            progressbar.close()
            if not result:
                painter = QPainter()
                if painter.begin(printer):
                    font = painter.font()
                    font.setPixelSize(20)
                    painter.setFont(font)
                    painter.drawText(QPointF(10, 25), "Could not generate print preview.")
                    painter.end()
    
    
    def main():
        import sys
    
        QCoreApplication.setAttribute(Qt.AA_EnableHighDpiScaling)
        app = QApplication(sys.argv)
        app.setApplicationName("Previewer")
    
        view = QWebEngineView()
        view.setUrl(QUrl("https://stackoverflow.com/questions/59438021"))
        view.resize(1024, 750)
        view.show()
    
        handler = PrintHandler()
        handler.setPage(view.page())
    
        printPreviewShortCut = QShortcut(QKeySequence(Qt.CTRL + Qt.Key_P), view)
        printShortCut = QShortcut(QKeySequence(Qt.CTRL + Qt.SHIFT + Qt.Key_P), view)
    
        printPreviewShortCut.activated.connect(handler.printPreview)
        printShortCut.activated.connect(handler.print)
    
        sys.exit(app.exec_())
    
    
    if __name__ == "__main__":
        main()
    

    וזה מה שהספקתי לעשות לפני שהתייאשתי:

    from PyQt6.QtCore import (QCoreApplication, QEventLoop, QObject, QPointF, Qt,
                           QUrl, pyqtSlot)
    from PyQt6.QtGui import QKeySequence, QPainter, QShortcut
    from PyQt6.QtPrintSupport import QPrintDialog, QPrinter, QPrintPreviewDialog, QAbstractPrintDialog
    from PyQt6.QtWebEngineWidgets import QWebEngineView
    from PyQt6.QtWidgets import QApplication, QDialog, QLabel, QProgressBar, QProgressDialog, QWidget
    
    
    class PrintHandler(QObject):
        def __init__(self, parent = None):
            super().__init__(parent)
            self.m_page = None
            self.m_inPrintPreview = False
    
        def setPage(self, page):
            assert not self.m_page
            self.m_page = page
            self.m_page.printRequested.connect(self.printPreview)
    
        @pyqtSlot()
        def print(self):
            printer = QPrinter(QPrinter.PrinterMode.HighResolution)
            dialog = QPrintDialog(printer, self.m_page.view())
            if dialog.exec() != QDialog.accepted:
                return
            self.printDocument(printer)
    
        @pyqtSlot()
        def printPreview(self):
            if not self.m_page:
                return
            if self.m_inPrintPreview:
                return
            self.m_inPrintPreview = True
            printer = QPrinter()
            preview = QPrintPreviewDialog(printer)
            preview.paintRequested.connect(self.printDocument)
            preview.exec()
            self.m_inPrintPreview = False
    
        @pyqtSlot(QPrinter)
        def printDocument(self, printer):
            loop = QEventLoop()
            result = False
    
            def printPreview(success):
                nonlocal result
                result = success
                loop.quit()
            progressbar = QProgressDialog(self.m_page.view())
            progressbar.findChild(QProgressBar).setTextVisible(False)
            progressbar.setLabelText("Wait please...")
            progressbar.setRange(0, 0)
            progressbar.show()
            progressbar.canceled.connect(loop.quit)
            self.m_page.print(printer, printPreview)
            loop.exec_()
            progressbar.close()
            if not result:
                painter = QPainter()
                if painter.begin(printer):
                    font = painter.font()
                    font.setPixelSize(20)
                    painter.setFont(font)
                    painter.drawText(QPointF(10, 25), "Could not generate print preview.")
                    painter.end()
    
    
    def main():
        import sys
    
        # QCoreApplication.setAttribute(Qt.AA_EnableHighDpiScaling)
        app = QApplication(sys.argv)
        app.setApplicationName("Previewer")
    
    
        view = QWebEngineView()
        view.setUrl(QUrl("https://stackoverflow.com/questions/59438021"))
        view.resize(1024, 750)
        view.show()
    
    
        # printPreviewShortCut = QShortcut(QKeySequence(Qt.CTRL + Qt.Key_P), view)
        # printShortCut = QShortcut(QKeySequence(Qt.CTRL + Qt.SHIFT + Qt.Key_P), view)
    
    
    
        import threading
        def gfg():
            print("1234")
            handler = PrintHandler()
            handler.setPage(view.page())
            handler.print()
            # handler.printPreview()
    
        timer = threading.Timer(7.0, gfg)
        timer.start()
    
        sys.exit(app.exec())
    
    
    if __name__ == "__main__":
        main()
    

    תודה.

    תכנות

  • שעה ותאריך בlog של vsdoce
    ה הפצת אנקי

    האם יש הגדרה כלשהיא להצגת השעה שבה נרשמת כל שורה בLog של הoutput?
    אם זה משנה, השאלה היא גם על vscode גם תחת לינוקס וגם תחת windows.
    תודה

    תכנות

  • JS - תאריך עברי באותיות
    ה הפצת אנקי

    תודה לכולם על התשובות!
    כנראה שנעבוד עם גימטריא.
    מכיון שמדובר בתוכנת מחשב בשימוש תדיר ואני מעדיף להכביד כמה שפחות ולהקטין את גודל ההתקנה, נראה לי ששימוש בספריות חיצוניות יהיה פחות יעיל.

    תכנות

  • קבוצת התכנות הסגורה
    ה הפצת אנקי

    @dovid ברצוני להוסיף נקודה קטנה: כרגע האתר כאן הוא היחיד שנותן מענה לתכנות בעברית בצורה נאותה ובשפה של הציבור שלנו.
    לדעתי העניה, לצמצם את המידע שבו עוד יותר על ידי מניעת גישה לחומרים נוספים גורמת הפסד לכל מי שאין לו גישה.
    בסופו של דבר, אם אתר כמו stack ודומיו היו סוגרים חלקים מהאתר, לציבור היה הרבה פחות מידע נגיש וכולנו היינו מפסידים.
    וכן לגבי בקשת תוכן משם- מכיון שאי אפשר לדעת אילו נושאים נידונו שם (חוץ מכמה קישורים "מסתוריים" לשם), אין לאף אחד מושג מה לבקש.
    אולי היה יותר יעיל לסנן משם מה שיכול להביא תועלת כללית.
    וכאן אודה שוב על האתר והעזרה הרבה שאני מקבל כאן לכל נושא.
    בעצם זו גם תודה מאלפי האברכים ובני התורה, משתמשי התוכנה לזכרון הלימוד.
    יישר כחכם!

    תכנות

  • JS - תאריך עברי באותיות
    ה הפצת אנקי

    כדי לקבל תאריך עברי בJS יש את הספריה המובנית "Intl.DateTimeFormat"
    כדי לקבל תאריך נוכחי אני כותב את השורה הבאה:

    new Intl.DateTimeFormat('he-u-ca-hebrew',{weekday: 'long', year:'numeric', month:'numeric', day:'numeric'}).format(new Date());
    

    הבעיה בזה היא שהפלט הוא:

    'יום שישי, 23 בתמוז 5782'
    

    ולא

    'יום שישי, כג בתמוז תשפב'
    

    לא מצאתי הגדרה מובנית שמטפלת בזה.
    פספסתי משהו?

    תכנות

  • יש כאן מישהו שרשום לפורום אידישע וועלט?
    ה הפצת אנקי

    אני זקוק לעזרה שקשורה לפורום הנ"ל.
    אודה למי שרשום שם אם יוכל לפנות אלי למייל לעזרה קטנה: anki4tora@gmail.com
    יישר כח!

    גומלין - כללי

  • מערכת טלפונית על בסיס תוכנת אנקי
    ה הפצת אנקי

    ברשות הרב @א-ב-ו-ב :
    מספר הטלפון של המערכת - 0799400404
    מייל לתמיכה טכנית במערכת הטלפונית- ankikol2@gmail.com

    בהצלחה לכולם!

    גומלין - כללי

  • תוכנת אנקי לזכרון הלימוד
    ה הפצת אנקי

    ההודעה הראשונה עודכנה כעת בקובץ הסופי שיש בו כמה שינויים מהקובץ שפורסם לפני כמה ימים.
    מה חדש בעדכון ניתן לקרוא כאן

    תוכנה

  • תוכנת אנקי לזכרון הלימוד
    ה הפצת אנקי

    @פלורידה נכון. הכפתור השתנה לesc שמשום מה לא עובד. בכל מקרה מבדיקה קצרה שערכתי לא היה נראה לי שיש שינוי משמעותי ולכן נחזור להפצה הרגילה.

    תוכנה

  • תוכנת אנקי לזכרון הלימוד
    ה הפצת אנקי

    @פלורידה השיפור כל כך משמעותי?

    תוכנה

  • תוכנת אנקי לזכרון הלימוד
    ה הפצת אנקי

    @פלורידה פה צמצמתי את התוספים כמעט בחצי
    https://send.magicode.me/send-file/file/04065d35fe79a00680fa3982eef7a00845dc8f17/view

    תוכנה

  • תוכנת אנקי לזכרון הלימוד
    ה הפצת אנקי

    @פלורידה נבדוק. יכול להיות שאיחוד תוספים יעזור

    תוכנה

  • תוכנת אנקי לזכרון הלימוד
    ה הפצת אנקי

    @פלורידה מוזר. לא יודע להסביר.
    גם בבטא הקודמת זה היה לאט?

    תוכנה

  • תוכנת אנקי לזכרון הלימוד
    ה הפצת אנקי

    בסייעתא דשמיא:
    מצורף הקובץ לעדכון השלישי הכולל שיפורים רבים ותיקוני באגים.
    במידה ולא יתגלו בעיות הוא ישלח במייל בשבוע הבא לנרשמים לקבלת עדכונים.
    וכמובן תודה רבה לכל חברי הפורום היקרים על עזרתם המרובה והמהירה!
    הורדה מכאן
    aef49c82-111b-430e-ab88-e19860bcc372-image.png

    תוכנה

  • מערכת טלפונית על בסיס תוכנת אנקי
    ה הפצת אנקי

    @מנצפכ ברמת העיקרון התכנון ה""עתידי"" הוא שאולי יום אחד זה יתחבר למערכת ankiweb ויסתנכרן עם כל האקוסיסטם של אנקי.

    גומלין - כללי

  • מערכת טלפונית על בסיס תוכנת אנקי
    ה הפצת אנקי

    @מנצפכ לעת עתה רק מהמערכת.
    לאיזה שימוש אתה צריך את זה?

    גומלין - כללי

  • מערכת טלפונית על בסיס תוכנת אנקי
    ה הפצת אנקי

    @מנצפכ שוב לא הסברתי את עצמי טוב.
    המערכת בנויה על שרת פרטי שימות המשיח שולח אליו בקשות.

    גומלין - כללי
  • 1 / 1
  • התחברות

  • אין לך חשבון עדיין? הרשמה

  • התחברו או הירשמו כדי לחפש.
  • פוסט ראשון
    פוסט אחרון
0
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום