Make the QConfigLayout custom class more responsive to the length of labels due to translations
This commit is contained in:
+19
-4
@@ -36,7 +36,8 @@ from PyQt5.QtCore import (
|
|||||||
from PyQt5.QtWidgets import (
|
from PyQt5.QtWidgets import (
|
||||||
QGridLayout, QLabel, QWidget, QVBoxLayout, QHBoxLayout, QSizePolicy,
|
QGridLayout, QLabel, QWidget, QVBoxLayout, QHBoxLayout, QSizePolicy,
|
||||||
QAbstractButton, QDialog, QTabWidget, QTabBar, QStyle, QDialogButtonBox,
|
QAbstractButton, QDialog, QTabWidget, QTabBar, QStyle, QDialogButtonBox,
|
||||||
QStylePainter, QStyleOptionTab, QListWidget, QListWidgetItem, QFrame
|
QStylePainter, QStyleOptionTab, QListWidget, QListWidgetItem, QFrame,
|
||||||
|
QLineEdit
|
||||||
)
|
)
|
||||||
|
|
||||||
from nw.constants import trConst, nwUnicode, nwQuotes
|
from nw.constants import trConst, nwUnicode, nwQuotes
|
||||||
@@ -61,6 +62,7 @@ class QConfigLayout(QGridLayout):
|
|||||||
wSp = nw.CONFIG.pxInt(8)
|
wSp = nw.CONFIG.pxInt(8)
|
||||||
self.setHorizontalSpacing(wSp)
|
self.setHorizontalSpacing(wSp)
|
||||||
self.setVerticalSpacing(wSp)
|
self.setVerticalSpacing(wSp)
|
||||||
|
self.setColumnStretch(0, 1)
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -151,6 +153,7 @@ class QConfigLayout(QGridLayout):
|
|||||||
labelBox.addWidget(qLabel)
|
labelBox.addWidget(qLabel)
|
||||||
labelBox.addWidget(qHelp)
|
labelBox.addWidget(qHelp)
|
||||||
labelBox.setSpacing(0)
|
labelBox.setSpacing(0)
|
||||||
|
labelBox.addStretch(1)
|
||||||
|
|
||||||
thisEntry["help"] = qHelp
|
thisEntry["help"] = qHelp
|
||||||
self.addLayout(labelBox, self._nextRow, 0, 1, 1, Qt.AlignLeft | Qt.AlignTop)
|
self.addLayout(labelBox, self._nextRow, 0, 1, 1, Qt.AlignLeft | Qt.AlignTop)
|
||||||
@@ -163,15 +166,22 @@ class QConfigLayout(QGridLayout):
|
|||||||
controlBox.addWidget(qWidget, 0, Qt.AlignVCenter)
|
controlBox.addWidget(qWidget, 0, Qt.AlignVCenter)
|
||||||
controlBox.addWidget(QLabel(theUnit), 0, Qt.AlignVCenter)
|
controlBox.addWidget(QLabel(theUnit), 0, Qt.AlignVCenter)
|
||||||
controlBox.setSpacing(wSp)
|
controlBox.setSpacing(wSp)
|
||||||
self.addLayout(controlBox, self._nextRow, 1, 1, 1, Qt.AlignRight | Qt.AlignVCenter)
|
self.addLayout(controlBox, self._nextRow, 1, 1, 1, Qt.AlignRight | Qt.AlignTop)
|
||||||
|
|
||||||
elif theButton is not None:
|
elif theButton is not None:
|
||||||
controlBox = QHBoxLayout()
|
controlBox = QHBoxLayout()
|
||||||
controlBox.addWidget(qWidget, 0, Qt.AlignVCenter)
|
controlBox.addWidget(qWidget, 0, Qt.AlignVCenter)
|
||||||
controlBox.addWidget(theButton, 0, Qt.AlignVCenter)
|
controlBox.addWidget(theButton, 0, Qt.AlignVCenter)
|
||||||
controlBox.setSpacing(wSp)
|
controlBox.setSpacing(wSp)
|
||||||
self.addLayout(controlBox, self._nextRow, 1, 1, 1, Qt.AlignRight | Qt.AlignVCenter)
|
self.addLayout(controlBox, self._nextRow, 1, 1, 1, Qt.AlignRight | Qt.AlignTop)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
self.addWidget(qWidget, self._nextRow, 1, 1, 1, Qt.AlignRight | Qt.AlignVCenter)
|
if isinstance(theWidget, QLineEdit):
|
||||||
|
qLayout = QHBoxLayout()
|
||||||
|
qLayout.addWidget(theWidget)
|
||||||
|
self.addLayout(qLayout, self._nextRow, 1, 1, 1, Qt.AlignRight | Qt.AlignTop)
|
||||||
|
else:
|
||||||
|
self.addWidget(qWidget, self._nextRow, 1, 1, 1, Qt.AlignRight | Qt.AlignTop)
|
||||||
|
|
||||||
qLabel.setBuddy(qWidget)
|
qLabel.setBuddy(qWidget)
|
||||||
|
|
||||||
@@ -207,6 +217,9 @@ class QHelpLabel(QLabel):
|
|||||||
lblFont.setPointSizeF(fontSize*lblFont.pointSizeF())
|
lblFont.setPointSizeF(fontSize*lblFont.pointSizeF())
|
||||||
self.setFont(lblFont)
|
self.setFont(lblFont)
|
||||||
|
|
||||||
|
self.setWordWrap(True)
|
||||||
|
self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
# END Class QHelpLabel
|
# END Class QHelpLabel
|
||||||
@@ -409,6 +422,7 @@ class VerticalTabBar(QTabBar):
|
|||||||
|
|
||||||
def __init__(self, theParent=None):
|
def __init__(self, theParent=None):
|
||||||
QTabBar.__init__(self, parent=theParent)
|
QTabBar.__init__(self, parent=theParent)
|
||||||
|
self._mW = nw.CONFIG.pxInt(150)
|
||||||
return
|
return
|
||||||
|
|
||||||
def tabSizeHint(self, theIndex):
|
def tabSizeHint(self, theIndex):
|
||||||
@@ -416,6 +430,7 @@ class VerticalTabBar(QTabBar):
|
|||||||
"""
|
"""
|
||||||
tSize = QTabBar.tabSizeHint(self, theIndex)
|
tSize = QTabBar.tabSizeHint(self, theIndex)
|
||||||
tSize.transpose()
|
tSize.transpose()
|
||||||
|
tSize.setWidth(min(tSize.width(), self._mW))
|
||||||
return tSize
|
return tSize
|
||||||
|
|
||||||
def paintEvent(self, theEvent):
|
def paintEvent(self, theEvent):
|
||||||
|
|||||||
Reference in New Issue
Block a user