From e005c8b345bd84b3f0bd422640d6d773e3e56d54 Mon Sep 17 00:00:00 2001 From: Tyler Goodlet Date: Fri, 30 Jul 2021 10:50:05 -0400 Subject: [PATCH] Use `QFormLayout` instead of rolling our own; add pp and feed status sections --- piker/ui/_forms.py | 229 +++++++++++++++++++++++++++++++-------------- 1 file changed, 160 insertions(+), 69 deletions(-) diff --git a/piker/ui/_forms.py b/piker/ui/_forms.py index 0742cab9..acd83d63 100644 --- a/piker/ui/_forms.py +++ b/piker/ui/_forms.py @@ -18,9 +18,11 @@ Text entry "forms" widgets (mostly for configuration and UI user input). ''' -from functools import partial -from typing import Optional from contextlib import asynccontextmanager +from functools import partial +from textwrap import dedent +import math +from typing import Optional import trio from PyQt5 import QtCore, QtGui @@ -163,23 +165,32 @@ class FieldsForm(QWidget): # size it as we specify self.setSizePolicy( - QSizePolicy.Fixed, - QSizePolicy.Fixed, + QSizePolicy.Expanding, + QSizePolicy.Expanding, ) # self.setMaximumHeight(30) - self.setMaximumWidth(166) + # self.setMaximumWidth(166) - # split layout for the (label:| text bar entry) self.vbox = QtGui.QVBoxLayout(self) self.vbox.setAlignment(Qt.AlignTop) - self.vbox.setContentsMargins(0, 0, 4, 0) - self.vbox.setSpacing(3) + self.vbox.setContentsMargins(0, 4, 4, 0) + self.vbox.setSpacing(0) + + # split layout for the (