方法 | 描述 |
---|---|
margin | 保存 QLabel 控件中内容与边框之间的距离(边距),margin 的默认值为 0 |
setMargin() | 修改QLabel 控件中内容与边框之间的距离(边距) |
alignment() | 获得QLabel 控件中内容的对齐方式,默认情况下,QLabel 控件中的内容保持左对齐和垂直居中 该属性的值可以通过调用 alignment() 方法获得,可以借助 setAlignment() 方法修改。 |
setAlignment | 设置文本的对齐方式 Qt.AlignLeft:水平方向靠左对齐 Qt.AlignRight:水平方向靠右对齐 Qt.AlignCenter:水平方向居中对齐 Qt.AlignJustify:水平方向调整间距两端对齐 Qt.AlignTop:垂直方向靠上对齐 Qt.AlignBottom:垂直方向靠下对齐 Qt.AlignVCenter:垂直方向居中对齐 |
setIndent() | 设置文本缩进值 |
setPixmap() | setPixmap() |
text() | 获得 Qlabel 的文本内容 |
setText() | 设置 Qlabel 的文本内容 |
selectedText() | 返回所选择的字符 |
setBuddy() | 设置 QLabel的buddy(伙伴),及使用 Qlabel 设置快捷键,会在快捷键后将焦点设置到其 buddy 上,这里用到了 Qlabel 的交互控件功能,其 Qlabel 必须是文本内容,并且使用 “&” 符号快捷键 |
setWordWrap() | 设置是否允许换行 |
hide() | 隐藏文本框 |
clear() | 清空 QLabel 控件内所有显示的内容 |
setToolTip(QString) | 设置信息提示,当用户的鼠标放在QLabel 文本框上时会自动跳出文字 |
setToolTipDuration(int) | 设置提示信息出现的时间,单位是毫秒 |
setStyleSheet(QString) | 设置 QLabel 文本框的样式 |
setGeometry(int x, int y, int w, int h) | 设置 QLabel 文本框的位置 (x, y) 以及尺寸 (w, h) |
import sys
from PyQt5.QtWidgets import *
from PyQt5.Qt import *
from PyQt5.QtGui import QFont
class Set_qlabel(QWidget):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
self.setGeometry(500, 500, 500, 500)
label1 = QLabel("姓名:", self)
label1.setGeometry(50, 50, 200, 50)
font1 = QFont("隶书", pointSize=20)
label1.setFont(font1)
label1.setAlignment(Qt.AlignVCenter | Qt.AlignRight)
label2 = QLabel("班级:", self)
label2.setGeometry(50, 200, 200, 50)
font2 = QFont("楷体", pointSize=12)
label2.setFont(font2)
label2.setStyleSheet("color:red")
label2.setMargin(15)
print(label2.margin(), label2.alignment(), label2.indent(), label2.text())
#label2.setStyleSheet("color:#ff6600;")
if __name__ == "__main__":
app = QApplication(sys.argv)
widget = Set_qlabel()
widget.show()
sys.exit(app.exec_())
import sys
from PyQt5.Qt import *
class QlabelClass(QWidget):
def __init__(self):
super().__init__()
self.lb1 = QLabel('学点python不难!', self)
self.lb2 = QLabel('我内容不换行', self)
self.lb3 = QLabel('我内容会自动换行', self)
self.lb3.setWordWrap(True)
self.bt1 = QPushButton('输入内容1', self)
self.bt2 = QPushButton('输入内容2', self)
layout1 = QVBoxLayout()
layout1.addWidget(self.lb1)
layout1.addWidget(self.lb2)
layout1.addWidget(self.lb3)
layout1.addWidget(self.bt1)
layout1.addWidget(self.bt2)
self.bg1 = QButtonGroup(self)
self.ra1 = QRadioButton('左边', self)
self.ra2 = QRadioButton('中间', self)
self.ra3 = QRadioButton('右边', self)
self.bg1.addButton(self.ra1, 1)
self.bg1.addButton(self.ra2, 2)
self.bg1.addButton(self.ra3, 3)
layout2 = QHBoxLayout()
layout2.addWidget(self.ra1)
layout2.addWidget(self.ra2)
layout2.addWidget(self.ra3)
layout3 = QVBoxLayout()
layout3.addLayout(layout1)
layout3.addLayout(layout2)
self.setLayout(layout3)
self.bg1.buttonClicked.connect(self.rb_clicked)
self.bt1.clicked.connect(self.show_dialog)
self.bt2.clicked.connect(self.show_dialog)
def rb_clicked(self):
if self.bg1.checkedId() == 1:
self.lb1.setAlignment(Qt.AlignVCenter | Qt.AlignLeft)
elif self.bg1.checkedId() == 2:
self.lb1.setAlignment(Qt.AlignCenter)
elif self.bg1.checkedId() == 3:
self.lb1.setAlignment(Qt.AlignVCenter | Qt.AlignRight)
def show_dialog(self):
sender = self.sender()
if sender == self.bt1:
text, ok = QInputDialog.getText(self, '内容1', '请输入内容1:')
if ok:
self.lb2.setText(text)
elif sender == self.bt2:
text, ok = QInputDialog.getText(self, '内容2', '请输入内容2:')
if ok:
self.lb3.setText(str(text))
if __name__ == "__main__":
app = QApplication(sys.argv)
widget = QlabelClass()
widget.setGeometry(100, 100, 100, 100)
widget.show()
sys.exit(app.exec_())
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
class QlabelClass(QWidget):
def __init__(self):
super().__init__()
pix = QPixmap('dog.png')
lb1 = QLabel(self)
lb1.setGeometry(0, 0, 700, 300)
lb1.setPixmap(pix)
lb1.setStyleSheet("border: 2px solid red")
lb2 = QLabel(self)
lb2.setGeometry(0, 300, 300, 300)
lb2.setPixmap(pix)
lb2.setStyleSheet("border: 2px solid red")
lb2.setScaledContents(True)
if __name__ == "__main__":
app = QApplication(sys.argv)
widget = QlabelClass()
widget.setGeometry(100, 100, 700, 600)
widget.show()
sys.exit(app.exec_())
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
class QlabelClass(QWidget):
def __init__(self):
super().__init__()
self.lb = QLabel(self)
self.lb.setGeometry(50, 50, 300, 200)
self.bt1 = QPushButton('开始', self)
self.bt1.setGeometry(0, 0, 100, 30)
self.bt2 = QPushButton('停止', self)
self.bt2.setGeometry(300, 0, 100, 30)
self.lb2 = QLabel(self)
self.lb2.setText("感谢关注菜鸟教程")
vbox = QVBoxLayout()
vbox.addWidget(self.lb)
vbox.addWidget(self.bt1)
vbox.addWidget(self.bt2)
vbox.addWidget(self.lb2)
self.setLayout(vbox)
# 显示的开始什么
self.pix = QPixmap('th.gif')
self.lb.setPixmap(self.pix)
self.lb.setScaledContents(True)
self.bt1.clicked.connect(self.run)
self.bt2.clicked.connect(self.run)
self.lb2.linkActivated.connect(self.link_clicked)
self.lb2.linkHovered.connect(self.link_hovered)
self.lb2.setOpenExternalLinks(True)
def link_clicked(self):
print("点击了超链接")
def link_hovered(self):
self.lb2.setToolTip("鼠标滑过")
def run(self):
movie = QMovie("th.gif")
self.lb.setMovie(movie)
if self.sender() == self.bt1:
movie.start()
else:
movie.stop()
self.lb.setPixmap(self.pix)
if __name__ == "__main__":
app = QApplication(sys.argv)
widget = QlabelClass()
widget.setGeometry(100, 100, 400, 400)
widget.show()
sys.exit(app.exec_())