Форум сайта python.su
Как определить минимальную ширину виджета, например чекбокса для его правильного показа (чтобы содержимое полностью показывалось, без обрезания ).
Отредактировано (Март 2, 2012 17:38:26)
Офлайн
Сделал так:
import PyQt4.QtGui as QtGui
import PyQt4.Qt as Qt
import PyQt4.QtCore as QtCore
cb_tmp = QtGui.QCheckBox("Text")
wgt_tmp = QtGui.QWidget()
wgt_tmp.setAttribute(QtCore.Qt.WA_DeleteOnClose)
lt_tmp = QtGui.QHBoxLayout()
lt_tmp.addWidget(cb_tmp)
lt_tmp.addStretch(1)
wgt_tmp.setLayout(lt_tmp)
wgt_tmp.show()
width = cb_tmp.width()
wgt_tmp.close()
""" остальной код """
sys.exit(app.exec_())
Офлайн
Всё просто:
cb_tmp.adjustSize()
width = cb_tmp.width()
Офлайн
Ещё проще и правильно:
width = cb_tmp.sizeHint().width()
Офлайн