Форум сайта python.su
class TableWidgetItem(QtGui.QWidget):
def __init__(self, icon, text):
QtGui.QWidget.__init__(self)
layout = QtGui.QHBoxLayout(self)
layout.setContentsMargins(0, 0, 0, 0)
layout.setSpacing(0)
label = QtGui.QLabel()
label.setPixmap(QtGui.QPixmap(icon))
label.setAlignment(QtCore.Qt.AlignCenter)
layout.addWidget(label)
Офлайн
“палочка” это ваша иконка? тогда это нормально, у вас же на виджете две QLabel.
несмотря на то что текст вы не передаете, сам QLabel отрисовываеться и занимает место в лайоте (рамка у него там или еще что). Вот вам и “сдвиг”
1. совем уберите label1.
тогда вообще можно упростить код до такого: там QWidget и лайоты не нужны, просто фигачте картинку в лебл.
class TableWidgetItem(QtGui.QLabel): def __init__(self, icon): QtGui.QLabel.__init__(self) self.setPixmap(QtGui.QPixmap(icon))
if text: label1 = QtGui.QLabel() label1.setText(text) label1.setSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum) layout.addWidget(label1)
[code python][/code]
Отредактировано PEHDOM (Ноя. 29, 2016 16:28:12)
Офлайн