【QTdesigner】课时30.QLabel控件的基本用法【pyqt5+QTdesigner模式】


** >>> 点击进入:pyqt5专栏<<<**

视频链接

P29课时30.QLabel控件的基本用法
课件下载地址


课程重点


代码位置

在这里插入图片描述


完整代码

'''
QLabel控件

setAlignment():设置文本的对齐方式

setIndent():设置文本缩进

text():获取文本内容

setBuddy():设置伙伴关系

setText():设置文本内容

selectedText():返回所选择的字符

setWordWrap():设置是否允许换行

QLabel常用的信号(事件):
1.  当鼠标滑过QLabel控件时触发:linkHovered
2.  当鼠标单击QLabel控件时触发:linkActivated

'''

import sys
from PyQt5.QtWidgets import QVBoxLayout,QMainWindow,QApplication,QLabel,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)
        label1.setAlignment(Qt.AlignCenter)

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

        label3.setAlignment(Qt.AlignCenter)

        label3.setToolTip('这是一个图片标签')

        label3.setPixmap(QPixmap("./images/python.jpg"))
        # 如果设为True,用浏览器打开网页,如果设为False,调用槽函数
        label4.setOpenExternalLinks(True)

        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('当鼠标滑过label2标签时,触发事件')

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

if __name__ == '__main__':
    app = QApplication(sys.argv)
    main = QLabelDemo()
    main.show()
    sys.exit(app.exec_())

遇到的问题


改写效果展示

在这里插入图片描述


改写注意点

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

label3.setAlignment(Qt.AlignCenter)
label3.setToolTip('这是一个图片标签')
label3.setPixmap(QPixmap("./images/python.jpg"))

在这里插入图片描述

label4.setText("<a href='https://item.jd.com/12417265.html'>感谢关注《Python从菜鸟到高手》</a>")
label4.setOpenExternalLinks(True)

在这里插入图片描述

label4.setAlignment(Qt.AlignRight)

在这里插入图片描述

 vbox = QVBoxLayout()
 vbox.addWidget(label1)
 vbox.addWidget(label2)
 vbox.addWidget(label3)
 vbox.addWidget(label4)

在这里插入图片描述

在这里插入图片描述


改写代码(QTdesigner模式)

# -*- coding:utf-8 -*-
'''
@Author: knocky
@Blog: https://blog.csdn.net/zzx188891020
@E-mail: 188891020@qq.com
@File: class30.py
@CreateTime: 2020/5/7 12:00
'''


import sys
from PyQt5.QtWidgets import QApplication,QWidget
from PyQt5 import uic

class QLabelDemo() :
    def __init__(self):
        super().__init__()
        self.ui = uic.loadUi("../ui_package/class30.ui")
        self.ui.label2.linkHovered.connect(self.linkHovered)
        self.ui.label4.linkActivated.connect(self.linkClicked)

    def linkHovered(self):
        print('当鼠标滑过label2标签时,触发事件')

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

if __name__ == '__main__':
    app = QApplication(sys.argv)
    main = QLabelDemo()
    main.ui.show()
    sys.exit(app.exec_())

QLabel方法

https://blog.csdn.net/jia666666/article/details/81504595

在这里插入图片描述

在这里插入图片描述

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
好的,我会尽力回答你的问题。首先,让我们来看一下如何使用designer.exe来设计UI界面。 设计UI界面的步骤如下: 1. 打开designer.exe 2. 创建一个新的窗口,选择QWidget 3. 在窗口中添加 QLabel、QLineEdit、QPushButton等控件 4. 设置控件的属性和布局 5. 添加响应事件,实现计算器的基本功能 下面是一个简单的计算器程序,你可以根据这个程序进行参考: ```python import sys from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QPushButton, QVBoxLayout, QHBoxLayout class Calculator(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setWindowTitle('Calculator') self.setGeometry(300, 300, 300, 200) self.label = QLabel('0') self.line_edit = QLineEdit() self.button_1 = QPushButton('1') self.button_2 = QPushButton('2') self.button_3 = QPushButton('3') self.button_4 = QPushButton('4') self.button_5 = QPushButton('5') self.button_6 = QPushButton('6') self.button_7 = QPushButton('7') self.button_8 = QPushButton('8') self.button_9 = QPushButton('9') self.button_0 = QPushButton('0') self.button_add = QPushButton('+') self.button_sub = QPushButton('-') self.button_mul = QPushButton('*') self.button_div = QPushButton('/') self.button_clr = QPushButton('Clear') self.button_eq = QPushButton('=') vbox = QVBoxLayout() vbox.addWidget(self.label) vbox.addWidget(self.line_edit) hbox1 = QHBoxLayout() hbox1.addWidget(self.button_1) hbox1.addWidget(self.button_2) hbox1.addWidget(self.button_3) hbox1.addWidget(self.button_add) hbox2 = QHBoxLayout() hbox2.addWidget(self.button_4) hbox2.addWidget(self.button_5) hbox2.addWidget(self.button_6) hbox2.addWidget(self.button_sub) hbox3 = QHBoxLayout() hbox3.addWidget(self.button_7) hbox3.addWidget(self.button_8) hbox3.addWidget(self.button_9) hbox3.addWidget(self.button_mul) hbox4 = QHBoxLayout() hbox4.addWidget(self.button_clr) hbox4.addWidget(self.button_0) hbox4.addWidget(self.button_eq) hbox4.addWidget(self.button_div) vbox.addLayout(hbox1) vbox.addLayout(hbox2) vbox.addLayout(hbox3) vbox.addLayout(hbox4) self.setLayout(vbox) self.button_1.clicked.connect(lambda:self.button_click('1')) self.button_2.clicked.connect(lambda:self.button_click('2')) self.button_3.clicked.connect(lambda:self.button_click('3')) self.button_4.clicked.connect(lambda:self.button_click('4')) self.button_5.clicked.connect(lambda:self.button_click('5')) self.button_6.clicked.connect(lambda:self.button_click('6')) self.button_7.clicked.connect(lambda:self.button_click('7')) self.button_8.clicked.connect(lambda:self.button_click('8')) self.button_9.clicked.connect(lambda:self.button_click('9')) self.button_0.clicked.connect(lambda:self.button_click('0')) self.button_add.clicked.connect(lambda:self.button_click('+')) self.button_sub.clicked.connect(lambda:self.button_click('-')) self.button_mul.clicked.connect(lambda:self.button_click('*')) self.button_div.clicked.connect(lambda:self.button_click('/')) self.button_clr.clicked.connect(self.button_clear) self.button_eq.clicked.connect(self.button_equal) def button_click(self, text): self.line_edit.setText(self.line_edit.text() + text) def button_clear(self): self.line_edit.clear() def button_equal(self): try: result = eval(self.line_edit.text()) self.label.setText(str(result)) except: self.label.setText('Error') if __name__ == '__main__': app = QApplication(sys.argv) ex = Calculator() ex.show() sys.exit(app.exec_()) ``` 在这个程序中,我们使用了QLabel、QLineEdit、QPushButton等控件来构建UI界面,并使用了QVBoxLayout和QHBoxLayout来设置控件的布局。我们还使用了信号和槽机制来实现计算器的基本功能。 希望这能对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值