Advertisement
Guest User

Untitled

a guest
Nov 15th, 2018
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.60 KB | None | 0 0
  1. import sys
  2. from PyQt5 import QtWidgets
  3. from PyQt5 import QtGui
  4. from PyQt5 import QtCore
  5.  
  6.  
  7. if __name__ == '__main__':
  8. app = QtWidgets.QApplication(sys.argv)
  9.  
  10. # MainWindow settings
  11. mainwindow = QtWidgets.QMainWindow()
  12. central_widget = QtWidgets.QWidget(mainwindow)
  13. central_layout = QtWidgets.QVBoxLayout(central_widget)
  14. mainwindow.setCentralWidget(central_widget)
  15.  
  16. # content
  17. content = QtWidgets.QWidget()
  18. content_layout = QtWidgets.QGridLayout(content)
  19. scrollarea = QtWidgets.QScrollArea(central_widget)
  20. scrollarea.setWidget(content)
  21. # scrollarea.setWidgetResizable(True)
  22. central_layout.addWidget(scrollarea)
  23.  
  24. # filling
  25. for i in range(0, 80, 2):
  26. text = QtWidgets.QLabel("entry:")
  27. value = QtWidgets.QLineEdit()
  28. content_layout.addWidget(text, i/2, 0)
  29. content_layout.addWidget(value, i/2, 1)
  30. content.setMinimumSize(content.sizeHint())
  31.  
  32. # sizing stuffs
  33. 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
  34. content_sizehint = content.sizeHint()
  35.  
  36. overall_min_size = QtCore.QSize(min(screen_max_size.width(), content_sizehint.width()), min(screen_max_size.height(), content_sizehint.height()))
  37. overall_max_size = QtCore.QSize(max(screen_max_size.width(), content_sizehint.width()), max(screen_max_size.height(), content_sizehint.height()))
  38.  
  39. scrollarea.setMinimumSize(overall_min_size)
  40. scrollarea.setMaximumSize(overall_max_size)
  41.  
  42. mainwindow.show()
  43.  
  44. sys.exit(app.exec_())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement