PyQt5求助

照着视频敲,但是不知道为什么运行不了

QQ浏览器截图20200927164046.png

import sys
from PyQt5.QtWidgets import QVBoxLayout,QMainWindow,QApplication,QPushButton,QWidget
from PyQt5.QtGui import QPixmap,QPalette  #图片和调色板
from PyQt5.QtCore import Qt

class QLabelDemo(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        label1 = QLabel(self)
        label2 = QLabel(self)
        label3 = QLabel(self)
        label4 = QLabel(self)

        label1.setText("<font color=yellow>这是一个文本标签。</font>")
        label1.setAutoFillBackground(True)  #设置自动填充背景
        palette = QPalette()#创建一个调色板
        palette.setColor(QPalette.Window,Qt.blue) #设置颜色
        label1.setPalette(palette) #对label使用调色板
        label1.setAlignment(Qt.AlignCenter)#设置文本居中对齐

        label2.setText("<a href='#'>欢迎使用Python GUI程序</a>")

        label3.setAlignment(Qt.AlignCenter)
        label3.setToolTip('这是一个图片标签') #设置提示文本
        label3.setPixmap(QPixmap("./images/timg.jpg"))#显示图片

        label4.setText("<a href='https://item.jd.com/12417265.html'>感谢关注《Python从菜鸟到高手》</a>")
        label4.setAlignment(Qt.AlignRight)#右对齐
        label4.setToolTip('这是一个超级链接')

        #用一个垂直布局,然后把控件放上去
        vbox = QVBoxLayout()
        vbox.addWidget(label1)
        vbox.addWidget(label2)
        vbox.addWidget(label3)
        vbox.addWidget(label4)

        label2.linkHovered.connect(self.linkHovered)
        label4.linkActivated.connect(self.linkClicked)

        self.setLayout(vbox)#设置布局
        self.setWindowTitle('QLabel控件演示')

    #绑定信号和槽
    #当鼠标滑过调用
    def linkHovered(self):
        print('当鼠标滑过lable2标签时,触发事件')

    def linkClicked(self):
        print('当鼠标单击label4标签时,触发事件')

if __name__ == '__main__':
    app = QApplication(sys.argv) #创建一个QApplication对象
    main = QLabelDemo()
    main.show() #用show来显示
    #进入程序的主循环
    sys.exit(app.exec_())

小米8周年旗舰手机

回复列表(5|隐藏机器人聊天)
添加新回复
回复需要登录