PyQT5教程(待续)

一些工具和快捷键

在designer中可以使用ctrl + r 即可实现可视化页面
vscode可使用PYQT Integration该插件,右键点击生成的ui文件拉到最下面Compile Form即可生成python界面

基本组件

一般需要导入的包

from PyQt5.QtWidgets import QApplication, QMainWindow

QApplication作用

实例化一个应用对象
常用在

app = QApplication(sys.argv)

sys.argv是一组命令行参数的列表。Python可以在shell里运行,这个参数提供对脚本控制的功能

QMainWindow作用

实例化一个主应用程序窗口

MainWindow = QMainWindow()

按钮

QtWidgets.QPushButton() # 生成按钮

重要的api

按钮链接函数,lambda后解函数的实例

clicked.connect(lambda: fun("小明"))

获取输入框获取的文本,输入框属性一般为lineEdit

def get_text():
    aaa = ui2.lineEdit.text() # lineEdit
    print(aaa)
ui2.pushButton.clicked.connect(lambda:get_text())

界面的问题

不同的界面,跳转之后有可能大小不一样
在生成的Python代码中找到resize,该函数是改变窗口大小的

MainWindow.resize(800, 600)

各类查看器编辑器

对象查看器

根据控件的名称来filter(检索)
一般都是在MainWindow下(新建文件使用了Main Window)
在该下方有
中央小部件centralwidget
菜单栏menubar
状态栏 statusbar
应用实例:若做的界面控件很多,可根据自己定义的名字在对象查看器迅速定位到想找的控件

属性编辑器

根据点击的控件显示该控件的属性
应用实例:label标签的控件的pixmap属性可修改为指定的rpc图片为背景。

资源浏览器

添加资源的步骤

  • 1.点击左方的打开资源文件,找到qrc文件,没有的话就新建个qrc文件
  • 2.点击右方的添加前缀,前缀名类似于文件夹导航作用,比如,照片设置为Pic
  • 3.点击右方的添加文件,就可以把照片或者其他文件添加进入

信号槽

xxx

各个组件

各个组件获取从Widget Box 小件物箱中

表单

在ltem widget中可以看到有三个widget
这里可以选择table widget即可。
表单里有用的属性:
horizontalHeader可以搜索到horizontalHeaderStretchLastSection该属性可以使表单界面水平横向拉升

窗口图标

from PyQt5.QtGui import QIcon
self.setWindowIcon(QIcon('./img/22.jpg'))

窗口标题

self.setWindowTitle('Center')

消息框

# QtWidgets中的QMessageBox
def closeEvent(self, event):

    reply = QMessageBox.question(self, 'Message',
                                 "Are you sure to quit?", QMessageBox.Yes |
                                 QMessageBox.No, QMessageBox.No)

    if reply == QMessageBox.Yes:

        event.accept()
    else:

        event.ignore()  

弹窗的输入框

db_text, db_action = QtWidgets.QInputDialog.getText(
self, '数据库名称', '请输入数据库名称', QtWidgets.QLineEdit.Normal)

Pyqt5启动工具和参考文档位置

其实文档并不在具有pyqt5文件夹中,而在qt5_applications文件夹中。
本机环境 python3.7.9,PyQt55.15.2;pyqt5-tools5.15.2.3.0.2
C:\Python37\Lib\site-packages\qt5_applications\Qt\bin
assistant.exe是文档程序,但并没有文档,需要自己下载导入
designer.exe是pyqt5的可视化编辑程序

组件的设计

大小设计

xxx.setGeometry(QtCore.QRect(x, y, a, b)); 前2个参数20,30是距离左上角的位置,后两个参数是宽高

self.pushButton.setGeometry(QtCore.QRect(20, 30, 101, 41)) #

获取组件的大小;使用size()方法

xxx.size()

布局设计

各个组件,布局可以包含组件加入(也就是类似于div的嵌套)
比如设计个登录页面,我们需要两个横向的输入块,两个横向的输入块纵向排列。这时候就需要2个水平布局结构,一个垂直布局,把两个水平布局依次加入到垂直布局即可实现效果页面。

layout1 = QVBoxLayout() # 垂直布局
layout2 = QHBoxLayout() # 水平布局
self.grid_layout = QGridLayout()  # 网格布局
layout4 = QFormLayout() # 表单布局 ==> 快速构建 文本加输入框的形式

颜色的设计

按钮:
颜色考虑的是属性palette属性。设置按钮边框的颜色或者整个界面的颜色。
StyleSheet设计背景颜色
坑点
一定要有前缀 background-color

background-color:rgb(0, 0, 255)

LineEdit:
Text右边的颜色即可更改字体颜色,更改Base右边的颜色即可更改背景颜色:

posted @ 2022-04-07 14:59  索匣  阅读(126)  评论(0编辑  收藏  举报