Как сделать рамку QLabel?
Мне нужно сделать рамку для QLabel , я сделал ее так:
label = QtWidgets.QLabel()
label.setFrameStyle(QtWidgets.QFrame.Box | QtWidgets.QFrame.Plain)
Выдает вот это:
Как подогнать размер рамки к QLabel?
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
Попробуйте так
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
class MainWindow(QtWidgets.QWidget):
def __init__(self):
super().__init__()
self.gridLayout = QtWidgets.QGridLayout(self)
self.widget = QtWidgets.QWidget(self)
self.widget.setMinimumSize(QtCore.QSize(100, 50))
self.gridLayout_2 = QtWidgets.QGridLayout(self.widget)
spacerItem = QtWidgets.QSpacerItem(20, 120,
QtWidgets.QSizePolicy.Minimum,
QtWidgets.QSizePolicy.Expanding)
self.gridLayout_2.addItem(spacerItem, 0, 1, 1, 1)
spacerItem1 = QtWidgets.QSpacerItem(110, 20,
QtWidgets.QSizePolicy.Expanding,
QtWidgets.QSizePolicy.Minimum)
self.gridLayout_2.addItem(spacerItem1, 1, 0, 1, 1)
self.label = QtWidgets.QLabel('Test', self.widget)
self.label.setMinimumSize(QtCore.QSize(100, 50))
self.label.setAlignment(QtCore.Qt.AlignCenter)
self.gridLayout_2.addWidget(self.label, 1, 1, 1, 1)
spacerItem2 = QtWidgets.QSpacerItem(110, 20, QtWidgets.QSizePolicy.Expanding,
QtWidgets.QSizePolicy.Minimum)
self.gridLayout_2.addItem(spacerItem2, 1, 2, 1, 1)
spacerItem3 = QtWidgets.QSpacerItem(20, 119, QtWidgets.QSizePolicy.Minimum,
QtWidgets.QSizePolicy.Expanding)
self.gridLayout_2.addItem(spacerItem3, 2, 1, 1, 1)
self.gridLayout.addWidget(self.widget, 0, 0, 1, 1)
style = """
QWidget {
background: #262D37;
}
QLabel {
background: #ff2D37;
color: #fff;
border: 2px solid #fff;
border-radius: 8px;
padding: 2px;
outline: none;
}
"""
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
app.setStyleSheet(style)
app.setFont(QtGui.QFont("Times", 12, QtGui.QFont.Bold))
w = MainWindow()
w.resize(370, 200)
w.show()
sys.exit(app.exec_())

