PyQt入门之QLabel控件
QLabel可展示文本和多媒体
水平和垂直的标志
水平标志是:
对齐方式 | 描述 |
---|---|
Qt.AlignLeft | 靠左边缘对齐 |
Qt.AlignRight | 靠右边缘对齐 |
Qt.AlignHCenter | 水平居中 |
垂直标志是:
对齐方式 | 描述 |
---|---|
Qt.AlignTop | 靠上端对齐 |
Qt.AlignBottom | 靠下端对齐 |
Qt.AlignVCenter | 垂直居中 |
常用方法:
setAlignment() 设置文本对齐方式
setIndent() 设置文本缩进
text() 获取文本内容
setBuddy() 设置伙伴关系
setText() 设置文本内容
selectedText() 返回所选的字符
setWordWrap() 设置是否运行换行
setScaledContents() 设置图片是否自适应控件
setOpenExternalLinks() 设置是否打开超链接
常用事件:
linkHovered:鼠标滑过触发
linkActivated:鼠标单击
切记label标签的内容为超级链接的时候,才会触发这两种方法
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
class MainWindow(QMainWindow):
def __init__(self):
super().__init__() #调用父类构造函数初始化
self.setWindowTitle("第一个窗口")
self.resize(500,500)
screen = QDesktopWidget().screenGeometry() # 获取屏幕坐标系
size=self.geometry()#获取窗口坐标系
self.move((screen.width()-size.width())/2,(screen.height()-size.height())/2)#让窗口居中
self.setToolTip("<h1>这是第一个窗口</h1>")#设置悬浮信息
self.setWindowIcon(QIcon("img.png"))
self.setupui()
def setupui(self):
label=QLabel(self)
label.resize(100,100)
label.setAlignment(Qt.AlignCenter)
label.setObjectName("label")
label.setText("这是一个图片")
label.move(200,150)
label1=QLabel(self)
label1.resize(100, 100)
label1.setAlignment(Qt.AlignCenter)
label1.setScaledContents(True)#让图片自适应Label
label1.setPixmap(QPixmap("img.png"))
label1.move(200, 250)
label2=QLabel(self)
label2.resize(100, 100)
label2.setAlignment(Qt.AlignCenter)
label2.setOpenExternalLinks(True)
label2.setText("<a href='https://www.vip.com/?wq=1'>唯品会官网</a>")
label2.move(200, 350)
self.label=label
label2.linkHovered.connect(self.link1)
label2.linkActivated.connect(self.link2)
menu=self.menuBar()#默认有菜单栏对象
m1=menu.addMenu("菜单")
m1.addAction("功能1")
m1.addAction("功能2")
m1.addAction("功能3")
tool=self.addToolBar("工具栏")#添加一个工具栏
tool.addAction("工具1")
tool.addAction("工具2")
tool.addAction("工具3")
state=self.statusBar()#默认自带一个工具栏对象
state.showMessage("运行中")
button=QPushButton(self)
button.setText("退出程序")
button.setToolTip("<h1><sub>你确定要关闭吗?</sub></h1>")
button.move(0,50)
button.clicked.connect(self.closebutton)
def closebutton(self):
app=QApplication.instance()
app.quit()
def link1(self):
self.label.setText("鼠标滑过超链接")
def link2(self):
self.label.setText("鼠标点击超链接")
if __name__ == '__main__':
app=QApplication(sys.argv)
window=MainWindow()
window.show()
sys.exit(app.exec_())