Jan-24-2023, 05:23 PM
Hi!
What's wrong with my code? QScrollArea is shown but scrolling doesn't work.
What's wrong with my code? QScrollArea is shown but scrolling doesn't work.
import sys import datetime import xml.etree.ElementTree as ET from PyQt5.QtWidgets import * #QApplication, QDialog, QMainWindow, QMessageBox, QPushButton from PyQt5 import QtWidgets from PyQt5.QtCore import * from PyQt5 import QtCore from PyQt5.QtGui import * from PyQt5 import QtGui #from PyQt5 import uic class MainWindow(QMainWindow): def __init__(self): super().__init__() self.resize(900, 600) self.setMinimumSize(900, 600) self.setWindowTitle("Gewicht") self.setWindowIcon(QIcon("Gewicht.png")) # Tab tabWidget = QTabWidget(self) tabWidget.setContextMenuPolicy(Qt.DefaultContextMenu) self.setCentralWidget(tabWidget) # Tab Daten tabDaten = QWidget() # ... # Tab Grafik tabGrafik = QWidget() tabWidget.addTab(tabGrafik, "Grafik") scrollArea = QScrollArea(tabGrafik) scrollArea.setGeometry(10, 100, 870, 430) sp2 = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) sp2.setHorizontalStretch(0) sp2.setVerticalStretch(0) sp2.setHeightForWidth(scrollArea.sizePolicy().hasHeightForWidth()) # ??? scrollArea.setSizePolicy(sp2) scrollArea.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff) scrollArea.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOn) scrollArea.setWidgetResizable(False) # !?!?!?! scrollArea.setAutoFillBackground(False) sawc = QWidget(scrollArea) # scrollAreaWidgetContents sawc.setGeometry(QRect(1, 1, 1200, 405)) sp3 = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) # Preferred !?!?!? sp3.setHorizontalStretch(0) sp3.setVerticalStretch(0) sp3.setHeightForWidth(sawc.sizePolicy().hasHeightForWidth()) # ??? sawc.setSizePolicy(sp3) sawc.setMinimumSize(QSize(1200, 405)) # !?!?!? sawc.setStyleSheet("background-color:aquamarine;") pushButtonNeu = QPushButton(sawc) pushButtonNeu.setText("Neu") pushButtonNeu.setGeometry(QRect(10, 20, 1040, 90)) pushButtonNeu.setStyleSheet("background-color:gray;") # Tab Infos tabInfos = QWidget() tabWidget.addTab(tabInfos, "Infos, Statistik") def tabChange(seltab): if seltab == 1: # ... if seltab == 2: # ... # Actions tabWidget.currentChanged.connect(tabChange) app = QApplication(sys.argv) window = MainWindow() window.show() app.exec()