Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- from PyQt5 import QtWidgets
- from PyQt5 import QtGui
- from PyQt5 import QtCore
- if __name__ == '__main__':
- app = QtWidgets.QApplication(sys.argv)
- # MainWindow settings
- mainwindow = QtWidgets.QMainWindow()
- central_widget = QtWidgets.QWidget(mainwindow)
- central_layout = QtWidgets.QVBoxLayout(central_widget)
- mainwindow.setCentralWidget(central_widget)
- # content
- content = QtWidgets.QWidget()
- content_layout = QtWidgets.QGridLayout(content)
- scrollarea = QtWidgets.QScrollArea(central_widget)
- scrollarea.setWidget(content)
- # scrollarea.setWidgetResizable(True)
- central_layout.addWidget(scrollarea)
- # filling
- for i in range(0, 80, 2):
- text = QtWidgets.QLabel("entry:")
- value = QtWidgets.QLineEdit()
- content_layout.addWidget(text, i/2, 0)
- content_layout.addWidget(value, i/2, 1)
- content.setMinimumSize(content.sizeHint())
- # sizing stuffs
- screen_max_size = app.desktop().availableGeometry(scrollarea).size() - QtCore.QSize(0, 60) # 60: for some reason the OS bar size isn't handled by default
- content_sizehint = content.sizeHint()
- overall_min_size = QtCore.QSize(min(screen_max_size.width(), content_sizehint.width()), min(screen_max_size.height(), content_sizehint.height()))
- overall_max_size = QtCore.QSize(max(screen_max_size.width(), content_sizehint.width()), max(screen_max_size.height(), content_sizehint.height()))
- scrollarea.setMinimumSize(overall_min_size)
- scrollarea.setMaximumSize(overall_max_size)
- mainwindow.show()
- sys.exit(app.exec_())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement