Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Polish
  4. [QPrintPreviewDialog + PySide6.7.2 + Python 3.12] Błąd ale gdzie go szukać?
Forum Updated to NodeBB v4.3 + New Features

[QPrintPreviewDialog + PySide6.7.2 + Python 3.12] Błąd ale gdzie go szukać?

Scheduled Pinned Locked Moved Unsolved Polish
2 Posts 1 Posters 770 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • K Offline
    K Offline
    karlowic
    wrote on last edited by
    #1

    Witam!
    Napisałem prosty program do przetestowania QPrintPreviewDialog drukujący własny kod.
    Mieści się na dwóch stronach A4.

    import sys
    from PySide6.QtWidgets import QTextEdit, QVBoxLayout, QWidget, QApplication, QPushButton, QDialog
    from PySide6.QtPrintSupport import QPrinter, QPrintDialog, QPrintPreviewDialog
    
    
    class MainWindow(QWidget):
        def __init__(self, parent=None):
            super().__init__(parent)
            self.printDialog = None
            self.printer = QPrinter(QPrinter.HighResolution)
            self.tekst = None
            self.buttonPreview = QPushButton("Przeglądaj")
            self.buttonPreview.setEnabled(False)
            self.buttonPreview.clicked.connect(self.printPreviewDialog)
            self.buttonPrint = QPushButton("Drukuj")
            self.buttonPrint.setEnabled(False)
            self.buttonPrint.clicked.connect(self.dialogPrint)
            self.buttonOpen = QPushButton("Otwórz plik")
            self.buttonOpen.clicked.connect(self.openFile)
            self.editor = QTextEdit()
            self.editor.textChanged.connect(self.printEnabled)
            self.widget = QWidget()
            self.layout = QVBoxLayout(self)
            self.layout.addWidget(self.editor)
            self.layout.addWidget(self.buttonPreview)
            self.layout.addWidget(self.buttonPrint)
            self.layout.addWidget(self.buttonOpen)
    
        def dialogPrint(self):
            self.printDialog = QPrintDialog(self.printer)
            if self.printDialog.exec() == QDialog.accepted:
                self.editor.document().print_(self.printDialog.printer())
    
        def openFile(self):
            f = open("Drukowanie.py", 'r')
            self.tekst = f.read()
            self.editor.setText(self.tekst)
    
        def printPreviewDialog(self):
            printer = QPrinter(QPrinter.PrinterMode.HighResolution)
            previewDialog = QPrintPreviewDialog(printer, self)
            previewDialog.paintRequested.connect(self.printPreview)
            previewDialog.exec()
    
        def printPreview(self, printer):
            self.editor.print_(printer)
    
        def printEnabled(self):
            if not self.editor.document().isEmpty():
                self.buttonPrint.setEnabled(True)
                self.buttonPreview.setEnabled(True)
            else:
                self.buttonPrint.setEnabled(False)
                self.buttonPreview.setEnabled(False)
    
    
    app = QApplication(sys.argv)
    window = MainWindow()
    window.setGeometry(400, 100, 500, 500)
    window.show()
    
    try:
        sys.exit(app.exec())
    except SystemExit:
        print('Closing Window...')
    
    
    

    Po aktualizacji do najnowszego Pythona 3.12 podgląd wydruku wygląda tak:
    Zrzut ekranu 2024-07-04 125952.png

    Po powrocie do Pythonia 3.11 podgląd wydruku wygląda tak:
    Zrzut ekranu 2024-07-04 114453.png

    Dodam, że wydruk jest w obu przypadkach prawidłowy. Czy ktoś miał podobny problem i czy można go w jakiś sposób rozwiązać?

    1 Reply Last reply
    0
    • K Offline
      K Offline
      karlowic
      wrote on last edited by
      #2

      Ustaliłem, że gdy mam ustawiony ciemny motyw w Windowsie 11 to występuje ten błąd. Po zmianie na jasny motyw błąd znika i podgląd wydruku jest prawidłowy.

      1 Reply Last reply
      0

      • Login

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • Users
      • Groups
      • Search
      • Get Qt Extensions
      • Unsolved