Python Forum
Binding functions in Qt Designerr
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Binding functions in Qt Designerr
#11
Okay but what does that UI Code look like is it just a massive mess like normal that does not use layouts or is is at least semi-structured and using layouts -- it would be very interesting to me to see the code that the designer put out assuming you properly used the various layout structuring you should to implement an actual pyqt solution. Note I am not being sarcastic or anything of the sort I am seriously interested and I am just outlining what I would need to see in order to change my mind at all about the Designer and I actually look forward to having my view changed.
Reply
#12
(Aug-19-2019, 03:28 PM)Denni Wrote: Okay but what does that UI Code look like is it just a massive mess like normal that does not use layouts or is is at least semi-structured and using layouts -- it would be very interesting to me to see the code that the designer put out assuming you properly used the various layout structuring you should to implement an actual pyqt solution. Note I am not being sarcastic or anything of the sort I am seriously interested and I am just outlining what I would need to see in order to change my mind at all about the Designer and I actually look forward to having my view changed.

Well, it is a massive semi-structured mess that use layouts ;)

But like I mentionned, who cares? Again, it is never meant to be read or edited; the project file is always contained as a .ui xml, and as the file is converted on install (firt to py, then to pyc), really the performance loss is negligible. The only code that matters resides in the scripts that handle this ui file.

player.ui
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>MainWindow</class>
 <widget class="QMainWindow" name="MainWindow">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>800</width>
    <height>620</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>MainWindow</string>
  </property>
  <widget class="QWidget" name="centralwidget">
   <layout class="QGridLayout" name="tabLayout">
    <property name="leftMargin">
     <number>10</number>
    </property>
    <property name="topMargin">
     <number>10</number>
    </property>
    <property name="rightMargin">
     <number>10</number>
    </property>
    <property name="bottomMargin">
     <number>10</number>
    </property>
    <item row="0" column="8">
     <widget class="QToolButton" name="shuffleButton">
      <property name="focusPolicy">
       <enum>Qt::NoFocus</enum>
      </property>
      <property name="toolTip">
       <string>Shuffle</string>
      </property>
      <property name="text">
       <string>...</string>
      </property>
      <property name="icon">
       <iconset>
        <normaloff>icons/shuffle_off.svg</normaloff>icons/shuffle_off.svg</iconset>
      </property>
     </widget>
    </item>
    <item row="0" column="4">
     <widget class="QToolButton" name="playButton">
      <property name="focusPolicy">
       <enum>Qt::NoFocus</enum>
      </property>
      <property name="toolTip">
       <string>Play / Pause</string>
      </property>
      <property name="text">
       <string>...</string>
      </property>
      <property name="icon">
       <iconset>
        <normaloff>icons/play.svg</normaloff>icons/play.svg</iconset>
      </property>
     </widget>
    </item>
    <item row="0" column="5">
     <widget class="QToolButton" name="previousButton">
      <property name="focusPolicy">
       <enum>Qt::NoFocus</enum>
      </property>
      <property name="toolTip">
       <string>Previous</string>
      </property>
      <property name="text">
       <string>...</string>
      </property>
      <property name="icon">
       <iconset>
        <normaloff>icons/previous.svg</normaloff>icons/previous.svg</iconset>
      </property>
     </widget>
    </item>
    <item row="1" column="0">
     <widget class="QFrame" name="libraryFrame">
      <property name="sizePolicy">
       <sizepolicy hsizetype="Fixed" vsizetype="Expanding">
        <horstretch>0</horstretch>
        <verstretch>0</verstretch>
       </sizepolicy>
      </property>
      <property name="minimumSize">
       <size>
        <width>300</width>
        <height>0</height>
       </size>
      </property>
      <property name="maximumSize">
       <size>
        <width>300</width>
        <height>16777215</height>
       </size>
      </property>
      <property name="lineWidth">
       <number>0</number>
      </property>
      <layout class="QVBoxLayout" name="libraryLayout">
       <property name="topMargin">
        <number>0</number>
       </property>
       <property name="bottomMargin">
        <number>0</number>
       </property>
       <item>
        <widget class="QFrame" name="artFrame">
         <property name="frameShape">
          <enum>QFrame::StyledPanel</enum>
         </property>
         <property name="frameShadow">
          <enum>QFrame::Sunken</enum>
         </property>
         <layout class="QHBoxLayout" name="horizontalLayout"/>
        </widget>
       </item>
       <item>
        <widget class="QFrame" name="frame">
         <property name="frameShape">
          <enum>QFrame::NoFrame</enum>
         </property>
         <property name="frameShadow">
          <enum>QFrame::Plain</enum>
         </property>
         <layout class="QGridLayout" name="gridLayout_2">
          <property name="leftMargin">
           <number>0</number>
          </property>
          <property name="topMargin">
           <number>0</number>
          </property>
          <property name="rightMargin">
           <number>0</number>
          </property>
          <property name="bottomMargin">
           <number>0</number>
          </property>
          <item row="1" column="1">
           <widget class="QLineEdit" name="libraryFilterLine"/>
          </item>
          <item row="1" column="2">
           <widget class="QPushButton" name="libraryFilterClearButton">
            <property name="sizePolicy">
             <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
              <horstretch>0</horstretch>
              <verstretch>0</verstretch>
             </sizepolicy>
            </property>
            <property name="maximumSize">
             <size>
              <width>16</width>
              <height>16</height>
             </size>
            </property>
            <property name="focusPolicy">
             <enum>Qt::NoFocus</enum>
            </property>
            <property name="toolTip">
             <string>Clear filter</string>
            </property>
            <property name="styleSheet">
             <string notr="true"/>
            </property>
            <property name="text">
             <string/>
            </property>
           </widget>
          </item>
          <item row="0" column="0" colspan="3">
           <widget class="QFrame" name="frame_3">
            <property name="frameShape">
             <enum>QFrame::NoFrame</enum>
            </property>
            <property name="frameShadow">
             <enum>QFrame::Plain</enum>
            </property>
            <layout class="QHBoxLayout" name="horizontalLayout_2">
             <property name="bottomMargin">
              <number>0</number>
             </property>
             <item>
              <widget class="QLabel" name="label_2">
               <property name="text">
                <string>Filter by</string>
               </property>
              </widget>
             </item>
             <item>
              <widget class="QCheckBox" name="filterArtistBox">
               <property name="text">
                <string>Artist</string>
               </property>
              </widget>
             </item>
             <item>
              <widget class="QCheckBox" name="filterAlbumBox">
               <property name="text">
                <string>Album</string>
               </property>
              </widget>
             </item>
             <item>
              <widget class="QCheckBox" name="filterTitleBox">
               <property name="text">
                <string>Title</string>
               </property>
              </widget>
             </item>
            </layout>
           </widget>
          </item>
         </layout>
        </widget>
       </item>
       <item>
        <widget class="QFrame" name="frame_2">
         <property name="frameShape">
          <enum>QFrame::NoFrame</enum>
         </property>
         <property name="lineWidth">
          <number>0</number>
         </property>
         <layout class="QGridLayout" name="gridLayout">
          <property name="leftMargin">
           <number>0</number>
          </property>
          <property name="topMargin">
           <number>7</number>
          </property>
          <property name="rightMargin">
           <number>0</number>
          </property>
          <property name="bottomMargin">
           <number>7</number>
          </property>
          <item row="0" column="0">
           <widget class="QToolButton" name="preferencesButton">
            <property name="focusPolicy">
             <enum>Qt::NoFocus</enum>
            </property>
            <property name="toolTip">
             <string>Preferences</string>
            </property>
            <property name="text">
             <string>...</string>
            </property>
           </widget>
          </item>
          <item row="0" column="6">
           <widget class="QToolButton" name="collapseButton">
            <property name="focusPolicy">
             <enum>Qt::NoFocus</enum>
            </property>
            <property name="toolTip">
             <string>Collapse all</string>
            </property>
            <property name="text">
             <string>...</string>
            </property>
           </widget>
          </item>
          <item row="0" column="7">
           <widget class="QToolButton" name="expandButton">
            <property name="focusPolicy">
             <enum>Qt::NoFocus</enum>
            </property>
            <property name="toolTip">
             <string>Expand all</string>
            </property>
            <property name="text">
             <string>...</string>
            </property>
           </widget>
          </item>
          <item row="0" column="3">
           <spacer name="horizontalSpacer_2">
            <property name="orientation">
             <enum>Qt::Horizontal</enum>
            </property>
            <property name="sizeHint" stdset="0">
             <size>
              <width>40</width>
              <height>20</height>
             </size>
            </property>
           </spacer>
          </item>
          <item row="0" column="2">
           <widget class="QToolButton" name="artButton">
            <property name="focusPolicy">
             <enum>Qt::NoFocus</enum>
            </property>
            <property name="toolTip">
             <string>Art viewer</string>
            </property>
            <property name="text">
             <string>...</string>
            </property>
           </widget>
          </item>
          <item row="0" column="1">
           <widget class="QToolButton" name="refreshButton">
            <property name="focusPolicy">
             <enum>Qt::NoFocus</enum>
            </property>
            <property name="toolTip">
             <string>Quick database refresh</string>
            </property>
            <property name="text">
             <string>...</string>
            </property>
           </widget>
          </item>
         </layout>
        </widget>
       </item>
      </layout>
     </widget>
    </item>
    <item row="0" column="6">
     <widget class="QToolButton" name="nextButton">
      <property name="focusPolicy">
       <enum>Qt::NoFocus</enum>
      </property>
      <property name="toolTip">
       <string>Next</string>
      </property>
      <property name="text">
       <string>...</string>
      </property>
      <property name="icon">
       <iconset>
        <normaloff>icons/next.svg</normaloff>icons/next.svg</iconset>
      </property>
     </widget>
    </item>
    <item row="0" column="3">
     <widget class="QToolButton" name="stopButton">
      <property name="focusPolicy">
       <enum>Qt::NoFocus</enum>
      </property>
      <property name="toolTip">
       <string>Stop</string>
      </property>
      <property name="text">
       <string>...</string>
      </property>
      <property name="icon">
       <iconset>
        <normaloff>icons/stop.svg</normaloff>icons/stop.svg</iconset>
      </property>
     </widget>
    </item>
    <item row="0" column="0" colspan="2">
     <widget class="QSlider" name="playbackSlider">
      <property name="focusPolicy">
       <enum>Qt::NoFocus</enum>
      </property>
      <property name="orientation">
       <enum>Qt::Horizontal</enum>
      </property>
     </widget>
    </item>
    <item row="0" column="2">
     <widget class="QSlider" name="volumeSlider">
      <property name="maximumSize">
       <size>
        <width>100</width>
        <height>16777215</height>
       </size>
      </property>
      <property name="focusPolicy">
       <enum>Qt::NoFocus</enum>
      </property>
      <property name="maximum">
       <number>100</number>
      </property>
      <property name="orientation">
       <enum>Qt::Horizontal</enum>
      </property>
      <property name="tickPosition">
       <enum>QSlider::NoTicks</enum>
      </property>
      <property name="tickInterval">
       <number>50</number>
      </property>
     </widget>
    </item>
    <item row="0" column="7">
     <widget class="QToolButton" name="repeatButton">
      <property name="focusPolicy">
       <enum>Qt::NoFocus</enum>
      </property>
      <property name="text">
       <string/>
      </property>
     </widget>
    </item>
   </layout>
  </widget>
  <widget class="QStatusBar" name="statusbar"/>
  <widget class="QMenuBar" name="menuBar">
   <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
     <width>800</width>
     <height>25</height>
    </rect>
   </property>
  </widget>
  <action name="actionPreferences">
   <property name="text">
    <string>Preferences</string>
   </property>
  </action>
 </widget>
 <resources/>
 <connections/>
</ui>
player.py
# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'qoob/ui/player.ui'
#
# Created by: PyQt5 UI code generator 5.13.0
#
# WARNING! All changes made in this file will be lost!


from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(800, 620)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.tabLayout = QtWidgets.QGridLayout(self.centralwidget)
        self.tabLayout.setContentsMargins(10, 10, 10, 10)
        self.tabLayout.setObjectName("tabLayout")
        self.shuffleButton = QtWidgets.QToolButton(self.centralwidget)
        self.shuffleButton.setFocusPolicy(QtCore.Qt.NoFocus)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap("icons/shuffle_off.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.shuffleButton.setIcon(icon)
        self.shuffleButton.setObjectName("shuffleButton")
        self.tabLayout.addWidget(self.shuffleButton, 0, 8, 1, 1)
        self.playButton = QtWidgets.QToolButton(self.centralwidget)
        self.playButton.setFocusPolicy(QtCore.Qt.NoFocus)
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap("icons/play.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.playButton.setIcon(icon1)
        self.playButton.setObjectName("playButton")
        self.tabLayout.addWidget(self.playButton, 0, 4, 1, 1)
        self.previousButton = QtWidgets.QToolButton(self.centralwidget)
        self.previousButton.setFocusPolicy(QtCore.Qt.NoFocus)
        icon2 = QtGui.QIcon()
        icon2.addPixmap(QtGui.QPixmap("icons/previous.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.previousButton.setIcon(icon2)
        self.previousButton.setObjectName("previousButton")
        self.tabLayout.addWidget(self.previousButton, 0, 5, 1, 1)
        self.libraryFrame = QtWidgets.QFrame(self.centralwidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.libraryFrame.sizePolicy().hasHeightForWidth())
        self.libraryFrame.setSizePolicy(sizePolicy)
        self.libraryFrame.setMinimumSize(QtCore.QSize(300, 0))
        self.libraryFrame.setMaximumSize(QtCore.QSize(300, 16777215))
        self.libraryFrame.setLineWidth(0)
        self.libraryFrame.setObjectName("libraryFrame")
        self.libraryLayout = QtWidgets.QVBoxLayout(self.libraryFrame)
        self.libraryLayout.setContentsMargins(-1, 0, -1, 0)
        self.libraryLayout.setObjectName("libraryLayout")
        self.artFrame = QtWidgets.QFrame(self.libraryFrame)
        self.artFrame.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.artFrame.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.artFrame.setObjectName("artFrame")
        self.horizontalLayout = QtWidgets.QHBoxLayout(self.artFrame)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.libraryLayout.addWidget(self.artFrame)
        self.frame = QtWidgets.QFrame(self.libraryFrame)
        self.frame.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.frame.setFrameShadow(QtWidgets.QFrame.Plain)
        self.frame.setObjectName("frame")
        self.gridLayout_2 = QtWidgets.QGridLayout(self.frame)
        self.gridLayout_2.setContentsMargins(0, 0, 0, 0)
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.libraryFilterLine = QtWidgets.QLineEdit(self.frame)
        self.libraryFilterLine.setObjectName("libraryFilterLine")
        self.gridLayout_2.addWidget(self.libraryFilterLine, 1, 1, 1, 1)
        self.libraryFilterClearButton = QtWidgets.QPushButton(self.frame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.libraryFilterClearButton.sizePolicy().hasHeightForWidth())
        self.libraryFilterClearButton.setSizePolicy(sizePolicy)
        self.libraryFilterClearButton.setMaximumSize(QtCore.QSize(16, 16))
        self.libraryFilterClearButton.setFocusPolicy(QtCore.Qt.NoFocus)
        self.libraryFilterClearButton.setStyleSheet("")
        self.libraryFilterClearButton.setText("")
        self.libraryFilterClearButton.setObjectName("libraryFilterClearButton")
        self.gridLayout_2.addWidget(self.libraryFilterClearButton, 1, 2, 1, 1)
        self.frame_3 = QtWidgets.QFrame(self.frame)
        self.frame_3.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.frame_3.setFrameShadow(QtWidgets.QFrame.Plain)
        self.frame_3.setObjectName("frame_3")
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.frame_3)
        self.horizontalLayout_2.setContentsMargins(-1, -1, -1, 0)
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.label_2 = QtWidgets.QLabel(self.frame_3)
        self.label_2.setObjectName("label_2")
        self.horizontalLayout_2.addWidget(self.label_2)
        self.filterArtistBox = QtWidgets.QCheckBox(self.frame_3)
        self.filterArtistBox.setObjectName("filterArtistBox")
        self.horizontalLayout_2.addWidget(self.filterArtistBox)
        self.filterAlbumBox = QtWidgets.QCheckBox(self.frame_3)
        self.filterAlbumBox.setObjectName("filterAlbumBox")
        self.horizontalLayout_2.addWidget(self.filterAlbumBox)
        self.filterTitleBox = QtWidgets.QCheckBox(self.frame_3)
        self.filterTitleBox.setObjectName("filterTitleBox")
        self.horizontalLayout_2.addWidget(self.filterTitleBox)
        self.gridLayout_2.addWidget(self.frame_3, 0, 0, 1, 3)
        self.libraryLayout.addWidget(self.frame)
        self.frame_2 = QtWidgets.QFrame(self.libraryFrame)
        self.frame_2.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.frame_2.setLineWidth(0)
        self.frame_2.setObjectName("frame_2")
        self.gridLayout = QtWidgets.QGridLayout(self.frame_2)
        self.gridLayout.setContentsMargins(0, 7, 0, 7)
        self.gridLayout.setObjectName("gridLayout")
        self.preferencesButton = QtWidgets.QToolButton(self.frame_2)
        self.preferencesButton.setFocusPolicy(QtCore.Qt.NoFocus)
        self.preferencesButton.setObjectName("preferencesButton")
        self.gridLayout.addWidget(self.preferencesButton, 0, 0, 1, 1)
        self.collapseButton = QtWidgets.QToolButton(self.frame_2)
        self.collapseButton.setFocusPolicy(QtCore.Qt.NoFocus)
        self.collapseButton.setObjectName("collapseButton")
        self.gridLayout.addWidget(self.collapseButton, 0, 6, 1, 1)
        self.expandButton = QtWidgets.QToolButton(self.frame_2)
        self.expandButton.setFocusPolicy(QtCore.Qt.NoFocus)
        self.expandButton.setObjectName("expandButton")
        self.gridLayout.addWidget(self.expandButton, 0, 7, 1, 1)
        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.gridLayout.addItem(spacerItem, 0, 3, 1, 1)
        self.artButton = QtWidgets.QToolButton(self.frame_2)
        self.artButton.setFocusPolicy(QtCore.Qt.NoFocus)
        self.artButton.setObjectName("artButton")
        self.gridLayout.addWidget(self.artButton, 0, 2, 1, 1)
        self.refreshButton = QtWidgets.QToolButton(self.frame_2)
        self.refreshButton.setFocusPolicy(QtCore.Qt.NoFocus)
        self.refreshButton.setObjectName("refreshButton")
        self.gridLayout.addWidget(self.refreshButton, 0, 1, 1, 1)
        self.libraryLayout.addWidget(self.frame_2)
        self.tabLayout.addWidget(self.libraryFrame, 1, 0, 1, 1)
        self.nextButton = QtWidgets.QToolButton(self.centralwidget)
        self.nextButton.setFocusPolicy(QtCore.Qt.NoFocus)
        icon3 = QtGui.QIcon()
        icon3.addPixmap(QtGui.QPixmap("icons/next.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.nextButton.setIcon(icon3)
        self.nextButton.setObjectName("nextButton")
        self.tabLayout.addWidget(self.nextButton, 0, 6, 1, 1)
        self.stopButton = QtWidgets.QToolButton(self.centralwidget)
        self.stopButton.setFocusPolicy(QtCore.Qt.NoFocus)
        icon4 = QtGui.QIcon()
        icon4.addPixmap(QtGui.QPixmap("icons/stop.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.stopButton.setIcon(icon4)
        self.stopButton.setObjectName("stopButton")
        self.tabLayout.addWidget(self.stopButton, 0, 3, 1, 1)
        self.playbackSlider = QtWidgets.QSlider(self.centralwidget)
        self.playbackSlider.setFocusPolicy(QtCore.Qt.NoFocus)
        self.playbackSlider.setOrientation(QtCore.Qt.Horizontal)
        self.playbackSlider.setObjectName("playbackSlider")
        self.tabLayout.addWidget(self.playbackSlider, 0, 0, 1, 2)
        self.volumeSlider = QtWidgets.QSlider(self.centralwidget)
        self.volumeSlider.setMaximumSize(QtCore.QSize(100, 16777215))
        self.volumeSlider.setFocusPolicy(QtCore.Qt.NoFocus)
        self.volumeSlider.setMaximum(100)
        self.volumeSlider.setOrientation(QtCore.Qt.Horizontal)
        self.volumeSlider.setTickPosition(QtWidgets.QSlider.NoTicks)
        self.volumeSlider.setTickInterval(50)
        self.volumeSlider.setObjectName("volumeSlider")
        self.tabLayout.addWidget(self.volumeSlider, 0, 2, 1, 1)
        self.repeatButton = QtWidgets.QToolButton(self.centralwidget)
        self.repeatButton.setFocusPolicy(QtCore.Qt.NoFocus)
        self.repeatButton.setText("")
        self.repeatButton.setObjectName("repeatButton")
        self.tabLayout.addWidget(self.repeatButton, 0, 7, 1, 1)
        MainWindow.setCentralWidget(self.centralwidget)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)
        self.menuBar = QtWidgets.QMenuBar(MainWindow)
        self.menuBar.setGeometry(QtCore.QRect(0, 0, 800, 25))
        self.menuBar.setObjectName("menuBar")
        MainWindow.setMenuBar(self.menuBar)
        self.actionPreferences = QtWidgets.QAction(MainWindow)
        self.actionPreferences.setObjectName("actionPreferences")

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.shuffleButton.setToolTip(_translate("MainWindow", "Shuffle"))
        self.shuffleButton.setText(_translate("MainWindow", "..."))
        self.playButton.setToolTip(_translate("MainWindow", "Play / Pause"))
        self.playButton.setText(_translate("MainWindow", "..."))
        self.previousButton.setToolTip(_translate("MainWindow", "Previous"))
        self.previousButton.setText(_translate("MainWindow", "..."))
        self.libraryFilterClearButton.setToolTip(_translate("MainWindow", "Clear filter"))
        self.label_2.setText(_translate("MainWindow", "Filter by"))
        self.filterArtistBox.setText(_translate("MainWindow", "Artist"))
        self.filterAlbumBox.setText(_translate("MainWindow", "Album"))
        self.filterTitleBox.setText(_translate("MainWindow", "Title"))
        self.preferencesButton.setToolTip(_translate("MainWindow", "Preferences"))
        self.preferencesButton.setText(_translate("MainWindow", "..."))
        self.collapseButton.setToolTip(_translate("MainWindow", "Collapse all"))
        self.collapseButton.setText(_translate("MainWindow", "..."))
        self.expandButton.setToolTip(_translate("MainWindow", "Expand all"))
        self.expandButton.setText(_translate("MainWindow", "..."))
        self.artButton.setToolTip(_translate("MainWindow", "Art viewer"))
        self.artButton.setText(_translate("MainWindow", "..."))
        self.refreshButton.setToolTip(_translate("MainWindow", "Quick database refresh"))
        self.refreshButton.setText(_translate("MainWindow", "..."))
        self.nextButton.setToolTip(_translate("MainWindow", "Next"))
        self.nextButton.setText(_translate("MainWindow", "..."))
        self.stopButton.setToolTip(_translate("MainWindow", "Stop"))
        self.stopButton.setText(_translate("MainWindow", "..."))
        self.actionPreferences.setText(_translate("MainWindow", "Preferences"))
Reply
#13
Okay "tips hat" thanks -- well now that at least uses the layout system that is good but it would still be a nightmare to have to work with. Your comment and the issue that I find to be the biggest one that pops up is that "it is never meant to be read or edited;" which means that if you want to do some simple tweaks you have to get very creative with the Designer --or-- wade through that mass and try to figure out how to make those tweaks -- which may get thrown out when you render another UI due to other changes needing to be made.

Still to each their own -- I personally (having worked extensively with post production code) prefer to create code that I fully understand and can at a fairly quick glance get a solid gist of what it is doing because -- even if I wrote it -- if I have to come back to in a few months I am not going to remember what exactly I was doing let alone what someone else might have been doing.

Once you have had to struggle with this kind of mess trying to figure out where the bug is and/or how to implement that minor change the customer is asking for -- you will begin to understand why having anything that was meant never to be read or edited becomes a major problem in inefficiency. Besides I can render that code almost as quickly (or perhaps quicker) than you can using the Designer and when I am done I have no need to revisit the Designer just make the in-code tweaks necessary thus only incremental changes rather than sweeping uncontrolled changes implemented by something that I have no idea of how it will actually render what I have designed.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Key Binding scope angus1964 1 1,171 Jun-30-2022, 08:17 PM
Last Post: deanhystad
  kivy binding issue hammer 8 2,943 Nov-07-2021, 11:34 PM
Last Post: hammer
  [Tkinter] binding versus disable DPaul 6 6,601 May-05-2021, 05:17 PM
Last Post: DPaul
  [Tkinter] Binding Entry box to <Button-3> created in for loop iconit 5 4,879 Apr-22-2020, 05:47 AM
Last Post: iconit
  TkInter Binding Buttons ifigazsi 5 4,168 Apr-06-2020, 08:30 AM
Last Post: ifigazsi
  Making text clickable with binding DT2000 10 5,033 Apr-02-2020, 10:11 PM
Last Post: DT2000
  [Tkinter] Setting Binding to Entry created with a loop? p_hobbs 1 2,042 Nov-25-2019, 10:29 AM
Last Post: Larz60+
  Binding functions to Menus in tkinter?? Mocap 1 2,425 Jul-23-2019, 01:37 AM
Last Post: Larz60+
  [Kivy] Kivy property (in .kv) loses binding to a variable (in .py) j.crater 3 5,093 Aug-14-2018, 12:37 PM
Last Post: buran

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020