要让 QPushButton 的大小完全贴合 QLabel 的大小,可以尝试以下方法:
调整按钮大小方法
- 在初始化 QPushButton 的大小时使用 self.label.sizeHint() 来获取合适的尺寸。
- 在布局和显示时使用自适应布局来控制组件大小和位置。
可以尝试以下的代码修改:
class QButtonLabel(QPushButton):
def __init__(self, text, onclick, parent):
super().__init__(parent)
self.setStyleSheet('background-color: rgba(0, 0, 0, 0); border: 0px;')
# 创建并设置 QLabel
self.label = QLabel(text, self)
self.label.move(0, 0)
# 使用 sizeHint 来设置固定大小
self.setFixedSize(self.label.sizeHint())
self.clicked.connect(onclick)
self.setCursor(Qt.CursorShape.PointingHandCursor)
def enterEvent(self, event):
font = QFont()
font.setBold(True)
font.setUnderline(True)
self.label.setFont(font)
def leaveEvent(self, event):
self.label.setFont(QFont())
注意事项
- 确保 QLabel 内容在初始化时已加载完毕,因为 sizeHint() 依赖于内容和样式。
- 如果问题依然存在,可以尝试使用布局管理器来管理 QPushButton 和 QLabel,确保布局的自动管理特性。
你也可以使用图床提供的链接插入图片,但是由于支持 BBCode 的限制,图像无法直接嵌入论坛帖子。请直接访问链接:tutu.to/image/COMq4 以查看问题。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |