Python高级进阶教程021期 pyqt5label控件进阶使用,设置兄弟控件,广告植入

  • 2019 年 11 月 26 日
  • 筆記

知识回顾

1.掌握综合应用登录窗体

2.掌握密码设置setEchoMode

本节知识视频教程

以下开始文字讲解:

1.本节案例:快捷定位

  • 1.把label控件上面的快捷键绑定到指定的另一个兄弟控件上
  • 2.广告链接的制作

2.知识补充

为什么是exec_()而不是exec?

由于版本关系,在pyqt5 和3.x以后的版本中都已经可以实现,效果一样。

在pyqt4及以前 和2.x版本中,没有解决exec函数名称与python中的自带的函数名称相同导致的命名空间问题。

这两个函数都返回0,类似于C语言中的return 0的效果。告诉外部环境,本程序正常执行。

3.技巧

通过窗体的resize函数调节大小,可以让窗体默认居中,而不需要手工定位。

4.兄弟控件的绑定

我们可以通过设置一个函数方法进行绑定。

首先,我们在label控件上面写上快捷键的绑定形式,使用&符号后接数字或字母,在实际运用中就代表alt键+实际的键位。

然后,新建一个单行文本框(待会要指定绑定的控件,可以是其它控件)

最后,在label控件上使用setbuddy方法进行绑定单行文本框

5.实现一个浏览器的打开链接

这里,其实我们需要借助html网页中的知识点。

首先,需要设置label控件支持html链接的功能。

然后,就可以设置label的文本为html标签的内容了。

链接在html中用a标签来代表。

实现链接到编程创造城市这个网站:

<a href=“这里是链接目标” >编程创造城市</a>

最后,必须记得设置允许打开外部链接。通过setOpenExternalLinks设置为True

6.总结强调

  • 1.掌握label控件的基本使用
  • 2.掌握label控件通过快捷键绑定兄弟控件
  • 3.掌握设置label控件为链接,植入广告。

7.本节源代码:

import sys  from PyQt5.QtWidgets import QApplication,QWidget,QLabel,QLineEdit    class MyClass(QWidget):      def __init__(self):          super(MyClass, self).__init__()          self.initUI()        def initUI(self):          self.setWindowTitle("刘金玉编程")          self.resize(400,300)            lblname=QLabel(self)          lblname.setText("姓名(&1):")          lblname.move(50,50)            lename=QLineEdit(self)          lename.move(100,50)          lblname.setBuddy(lename)            lbldream = QLabel(self)          lbldream.setText("愿望(&2):")          lbldream.move(50, 100)            ledream = QLineEdit(self)          ledream.move(100, 100)          lbldream.setBuddy(ledream)            lblbc=QLabel(self)          lblbc.setText("<a href='http://bcczcs.com' >编程创造城市</a>")          lblbc.move(120,150)          lblbc.setOpenExternalLinks(True)            self.show()    if __name__=="__main__":      app=QApplication(sys.argv)      mc=MyClass()      sys.exit(app.exec_())