捐助郴维网
感谢您对郴维网的支持,你的支持将是郴维网持续发展的动力!
二维码
×
当前位置:郴维网 >Pyqt5 > 正文
24 2018.04

(PYQt5和QT designer)PyQt5学习入门-5-进阶2-组件学习\API学习

点击次数:3184 更新时间:2018/4/24 13:27:54  【打印此页

摘要:

本文将给大家简单介绍一下Qt中常用的几个控件的使用。其实每个控件的使用方法都差不多。具体如何使用更多的时候是需要查找文档API,所以本文也会在介绍使用控件的时候简单的介绍以下文档API的使用。

 

本文的实验内容:

1.文本输出框中输出Combox Box当前选择的内容。

2.能够通过文本输入框动态的给Combox Box增加备选的内容。

 

 

1.Combo Box(组合框)

Combox Box是一个非常常见的控件,看到名字可能陌生,但是看到这个图片你一定见过。

下面简单介绍一下组合框的使用。

 

步骤1:

打开Qt Designer,新建一个widget。

 

步骤2:

在工具盒中的Input Widgets中拽进来一个Combox Box。

 

后面为了实验的方便,再拽进来一个文本输出框Text Browser,和一个pushButton以及一个line Edit(文本输入框)

 

步骤3:

按照自己喜欢的方式摆放,例如下图:

 

步骤4:

放好组件之后,我给按键(添加)编辑一个信号/槽,槽的名字为add()。

给按键(显示)编辑信号/槽,名字为show_current()

 

 

步骤5:

保存ui,保存的名字为test.ui。

 

步骤6:

将.ui文件转换成.py文件

pyuic5 -o test.py test.ui  


ok..至此我们ui设计部分已经完成了,后面的工作在Qt Desinger上就无法完成了,需要自己撸代码了。

这里需要解决以下几个问题:

 

1.如何读取当前Combox Box的内容

2.如何给Combox Box添加备选的内容?

3.Line Edit怎么读取当前输入的文本?

4.textBrowser(文本输出框)怎么输出文本?

 

 

其实,这几个问题熟练API文档就可以去文档找答案了。所以,为了大家后面更好的学习PYQT,下面给新手玩家分享一下如何找API。

 

首先,官网API地址:https://doc.qt.io/qt-5/qtmodules.html。

这个网站一进来是Qt所有模块的API的入门。

 

但是,这个并没有什么大的帮助,因为很多模块我们暂时都用不上,有一个我们非常高频的使用到,就是最后一个 Qt Widgets。

 

这里给大家它的入口:https://doc.qt.io/qt-5/qtwidgets-module.html


 

这个网站一进来,具体如下:

 

看到这个网站可能大家有几个疑惑:

1.为什么是写着C++ Class?,我明明要的是python的API呀?。

C++的API和Python的API可以说是基本一致的。我们查看API的时候就是只是想搞清楚需要传递什么参数,会返回什么参数,能实现什么功能而已。

2.有非常非常多的类,可能困惑不知道哪个是我们需要找的。

这个我推荐大家一个找的方法。比如说我们现在需要知道Combo Box这个控件有哪些API,我们可以在Qt Desinger的对象查看器中查看其是属于哪个类的。具体来说:

从对象查看器中我们就可以看到,comboxBox是属于类QComboBox的。所以,我们直接Ctrl+F搜索https://doc.qt.io/qt-5/qtwidgets-module.html里面的QComboBox就可以找到。

 

同理,其他所有的组件我们都可以用这个方法找到。

 

 

------------------------------------------------------------------------------------------我是分割线----------------------------------------------------------------------------------------------------

 

ok,简单介绍了一下去哪找API,下面就是回答上面的那4个问题。

首先第一个问题:如何给Combox Box添加备选的内容?

有两个方法可以增加,第一个方法是直接在Qt Desinger中双击ComboBox,然后在弹出的窗口中直接添加。

 

 

第二个方法是在程序中添加,我们用上面的方法找到ComboBox是属于QComboBox这个类的,进来以后是这个类有的属性、成员函数、以及自带的信号/槽。

我们根据函数名其实就可以大概知道每个函数实现的功能,比如下面这个:

currentText应该就是当前内容的意思。如果不确定可以点进去会跳转到具体的说明:

所以大概的判断是对的。所以如果我们需要读取当前comboBox里面的内容就可以使用这个函数。

 

 

第二个问题,如何给Combox Box添加备选的内容?

同样地,我们翻一翻Api能够找打一个和添加相关的函数名 

第一个和第三个其实一样的,区别在于第一个每次只是添加一个备选项,而第三个每次是添加多个备选项。

第二个中需要大家了解的是QIcon是图标,所以第二个功能就是给备选项添加一个图标和一段文字。

 

第三个,line Edit怎么读取当前输入的文本?

同样地,我们在对象查看器中可以找到line Edit所属于的类是QlineEdit。

 

找到lineEdit的API后,我们根据大概功能的英文意思可以找到下面这个函数:

 

 

最后一个问题,textBrowser(文本输出框)怎么输出文本?

我们找到textBrowser的API后,进来可能逛了一圈也没发现相关功能的函数。这里就涉及到另外一个问题了,有一些组件是继承了一些其他组件的属性的。

所以,碰到这种情况,要多去翻翻它所继承的类。

 

这里和大家介绍两个textBrowser常用的函数。

 

这个是在文本输出框中输出一段文本,不过需要注意的是,Any previous text is removed(之前的所有内容都会先被清空)

 

另外一个是:

这个相比于上面一个,其不会删除原来有的内容,会在原来有的文本后面继续添加。

 

Ok..至此API使用的简单介绍也完毕了。后面还有一个文章是关于API,不过涉及的内容可能复杂些。最后一部分就是这篇文章的代码,供大家参考。

 

最终效果图:

源码

from PyQt5 import QtWidgets  
from test import Ui_Form  
class MyWindow(QtWidgets.QWidget,Ui_Form):  
   def __init__(self):  
       super(MyWindow,self).__init__()  
       self.setupUi(self)  
   def add(self):  
       self.comboBox.addItem(self.lineEdit.displayText())  
   def show_current(self):  
       self.textBrowser.append(self.comboBox.currentText())  
if __name__=="__main__":  
    import sys  
    app=QtWidgets.QApplication(sys.argv)  
    myshow=MyWindow()  
    myshow.show()  
    sys.exit(app.exec_())  
Tips
郴维网为您提供各类专业服务:
软件开发,电脑配件销售,WIFI路由器销售,上门电脑维修,上门安装系统,系统安装,软、硬件安装,电脑除尘清灰,显示器维修,WIFI安装调试,服务器维护,数据恢复,密码破解,网络布线,网络检修,打印机维修,打印机加碳粉,苹果电脑安装系统,苹果电脑安装双系统,监控安装维护,电脑外包,笔记本电脑维修,餐饮、美容行业软件安装 等。。。。。。
点击次数:3184 更新时间:2018/4/24 13:27:54  【打印此页

上一条:(PYQt5和QT designer)PyQt5学习入门-5-进阶1

下一条:已经是最后一篇了

关键词推荐:郴州电脑城 郴州电脑维修公司 维修电脑公司 郴州软件开发 上门电脑维修 上门安装系统 笔记本电脑维修 郴州打印机维修 打印机加碳粉 电脑安装双系统 苹果电脑双系统 液晶显示器维修 联想笔记本维修 联想笔记本维修电话 戴尔笔记本维修电话 郴州戴尔笔记本维修 戴尔笔记本郴州维修点 华硕笔记本维修点 郴州华硕笔记本维修 郴州笔记本上网维修