占位符QLabel

介绍

QLabel对象作为一个占位符可以显示不可编辑的文本或图片,也可以放置一个GIF动画,还可以被用作提示标记为其他控件。纯文本、链接或富文本可以显示在标签上。

方法

QlabeL常用方法

方法 描述
setAlignment() 按固定值方法对齐文本
Qt.AlignLeft,水平方向靠左对齐
Qt.AlignRight,水平方向靠右对齐
Qt.AlignCenter,水平方向居中对齐
Qt.AlignJustify,水平方向调整间距两端对齐
Qt.AlignTop,垂直方向靠上对齐
Qt.AlignButton,垂直方向靠下对齐
Qt.AlignVCenter,垂直方向居中对齐
setIndent() 设置文本缩进值
setPixmap() 设置QLabel为一个Pixmap图片
text() 获得QLabel的文本内容
setText() 试着QLabel的文本内容
selectedText() 返回所选择的字符
setBuddy() 设置QLabel的助记符及buddy(伙伴),即使用QLabel设置快捷键,会在快捷键后将焦点设置到期buddy上,这里用到了QLabel的交互控件功能。此外,buddy可以是任何一个Widget控件。使用setBuddy(QWidget *)设置,其QLabel必须是文本内容,并且使用"&"符号设置了助记符
setWordWrap() 设置是否允许换行

信号

方法 描述
linkActivated 当单击标签中嵌入的超链接,希望在新窗口中打开这个超链接时,setOpenExternalLinks特征必须设置为true
linkHovered 当鼠标指针划过标签中国嵌入的超链接时,需要用槽函数与这个信号进行绑定

显示QLable标签

from PyQt5.QtWidgets import QApplication,  QLabel  ,QWidget, QVBoxLayout 
from PyQt5.QtCore import Qt 
from PyQt5.QtGui import QPixmap ,QPalette
import sys  
    
class WindowDemo(QWidget):  
    def __init__(self ):  
        super().__init__()
                
        label1 = QLabel(self)
        label2 = QLabel(self)
        label3 = QLabel(self)
        label4 = QLabel(self)
        
        #1
        label1.setText("这是一个文本标签。")
        label1.setAutoFillBackground(True) 
        palette = QPalette()   
        palette.setColor(QPalette.Window,Qt.blue)  
        label1.setPalette(palette) 
        label1.setAlignment( Qt.AlignCenter)
          
        label2.setText("欢迎使用Python GUI 应用")
        
        label3.setAlignment( Qt.AlignCenter)    
        label3.setToolTip('这是一个图片标签')
        label3.setPixmap( QPixmap("./images/python.jpg"))

        label4.setText("欢迎访问信平的小屋")
        label4.setAlignment( Qt.AlignRight)
        label4.setToolTip('这是一个超链接标签')
        
        #2
        vbox = QVBoxLayout()
        vbox.addWidget(label1)
        vbox.addStretch()
        vbox.addWidget(label2)
        vbox.addStretch()
        vbox.addWidget( label3 )
        vbox.addStretch()
        vbox.addWidget( label4)
        
        #3
        label1.setOpenExternalLinks(True)
        # 打开允许访问超链接,默认是不允许,需要使用 setOpenExternalLinks(True)允许浏览器访问超链接
        label4.setOpenExternalLinks( False )
        # 点击文本框绑定槽事件  
        label4.linkActivated.connect( link_clicked )
        
        # 划过文本框绑定槽事件       
        label2.linkHovered.connect( link_hovered )
        label1.setTextInteractionFlags( Qt.TextSelectableByMouse )

        self.setLayout(vbox)
        self.setWindowTitle("QLabel 例子")
        
def link_hovered():
    print("当鼠标滑过label-2标签时,触发事件。")
        
def link_clicked():
    print("当鼠标点击label-4标签时,触发事件。" )
  
if __name__ == "__main__":  
    app = QApplication(sys.argv)  
    win = WindowDemo()  
    win.show()  
    sys.exit(app.exec_())

显示QLable标签展示

占位符QLabel_第1张图片

QLabel标签快捷键的使用

from PyQt5.QtWidgets import *
import sys  
    
class QlabelDemo(QDialog):  
    def __init__(self ):  
        super().__init__()
         
        self.setWindowTitle('Qlabel 例子')
        nameLb1 = QLabel('&Name', self) # 设置快捷键
        nameEd1 = QLineEdit( self )
        nameLb1.setBuddy(nameEd1)
        
        nameLb2 = QLabel('&Password', self)
        nameEd2 = QLineEdit( self )
        nameLb2.setBuddy(nameEd2)
        
        btnOk = QPushButton('&OK')
        btnCancel = QPushButton('&Cancel')
        mainLayout = QGridLayout(self)
        mainLayout.addWidget(nameLb1,0,0)
        mainLayout.addWidget(nameEd1,0,1,1,2)
        
        mainLayout.addWidget(nameLb2,1,0)
        mainLayout.addWidget(nameEd2,1,1,1,2)
         
        mainLayout.addWidget(btnOk,2,1)
        mainLayout.addWidget(btnCancel,2,2) 
        
def link_hovered():
    print("当鼠标滑过label-2标签时,触发事件。")
        
def link_clicked():
    print("当鼠标点击label-4标签时,触发事件。" )
  
if __name__ == "__main__":  
    app = QApplication(sys.argv)  
    labelDemo = QlabelDemo()  
    labelDemo.show()  
    sys.exit(app.exec_())

QLabel标签快捷键展示

占位符QLabel_第2张图片

后记

整理笔记任重而道远,好了,先这样了。

你可能感兴趣的:(#,PyQt5)