• 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右边的颜色即可更改背景颜色:

  • 相关阅读:
    conda docker镜像
    知识图谱推理与实践 (2) -- 基于jena实现规则推理
    知识图谱推理与实践(1)
    Docker使用mysqldump命令备份导出mysql容器中的数据
    centos sudo ps查找并kill线程
    使用Docker安装mysql,挂载外部配置和数据
    使用rpm命令查看软件是否安装,卸载、安装软件
    mysql too many connection
    mysql timeout的详细介绍
    git创建/删除本地branch(分支),tag(标签)
  • 原文地址:https://www.cnblogs.com/wkhzwmr/p/16112396.html
Copyright © 2020-2023  润新知