diff --git a/PySimpleGUIQt/PySimpleGUIQt.py b/PySimpleGUIQt/PySimpleGUIQt.py index a1836557..5219295f 100644 --- a/PySimpleGUIQt/PySimpleGUIQt.py +++ b/PySimpleGUIQt/PySimpleGUIQt.py @@ -2570,7 +2570,7 @@ class Window: def Read(self, timeout=None, timeout_key=TIMEOUT_KEY): if timeout == 0: # timeout of zero runs the old readnonblocking - event, values = self.ReadNonBlocking() + event, values = self._ReadNonBlocking() if event is None: event = timeout_key if values is None: @@ -2636,11 +2636,14 @@ class Window: else: return self.ReturnValues - def ReadNonBlocking(self): + def _ReadNonBlocking(self): if self.TKrootDestroyed: return None, None if not self.Shown: self.Show(non_blocking=True) + else: + # self.QTWindow.show() ####### The thing that causes the window to be visible ###### + print(self.QTApplication.processEvents()) if 0: # TODO add window closed with X logic self.TKrootDestroyed = True _my_windows.Decrement() @@ -3267,7 +3270,7 @@ def BuildResultsForSubform(form, initialize_only, top_level_form): value = 0 elif element.Type == ELEM_TYPE_INPUT_LISTBOX: try: - value= [element.QT_ListWidget.currentItem().text(),] + value= [item.text() for item in element.QT_ListWidget.selectedItems()] except: value = [] elif element.Type == ELEM_TYPE_INPUT_SPIN: @@ -3552,7 +3555,9 @@ def PackFormIntoFrame(window, containing_frame, toplevel_win): element_pad = full_element_pad # ------------------------- COLUMN element ------------------------- # if element_type == ELEM_TYPE_COLUMN: - column_widget = QWidget() + # column_widget = QWidget() + column_widget = QGroupBox() + # column_widget.setFrameShape(QtWidgets.QFrame.NoFrame) style = '' if font is not None: @@ -3560,14 +3565,21 @@ def PackFormIntoFrame(window, containing_frame, toplevel_win): style += 'font-size: %spt;'%font[1] if element.BackgroundColor is not None: style += 'background-color: %s;' % element.BackgroundColor + style += 'border: 0px solid gray; ' column_widget.setStyleSheet(style) + # print(style) column_layout = QFormLayout() column_vbox = QVBoxLayout() PackFormIntoFrame(element, column_layout, toplevel_win) + + column_vbox.addLayout(column_layout) column_widget.setLayout(column_vbox) + + column_widget.setStyleSheet(style) + qt_row_layout.addWidget(column_widget) # ------------------------- TEXT element ------------------------- # elif element_type == ELEM_TYPE_TEXT: @@ -4118,11 +4130,14 @@ def StartupTK(window): if window.FocusElement is not None: window.FocusElement.setFocus() - window.QTWindow.show() ####### The thing that causes the window to be visible ###### + if not window.NonBlocking: + window.QTWindow.show() ####### The thing that causes the window to be visible ###### + window.QTApplication.exec_() + else: + window.QTWindow.show() ####### The thing that causes the window to be visible ###### + window.QTApplication.processEvents() - window.QTApplication.exec_() - window.CurrentlyRunningMainloop = False window.TimerCancelled = True