当前位置:首页 » 《随便一记》 » 正文

Windows环境下使用Python设计应用软件——【2】pyqt给控件添加功能(弹窗功能)_红枫林

3 人参与  2022年06月04日 10:01  分类 : 《随便一记》  评论

点击全文阅读


PS:本文主要用于自我整理总结,方便后续参考,如果恰好帮助到你,也是件值得高兴的事
之前我们简单设计了界面,现在是给控件加我们想要的功能的时候了。
在这里插入图片描述
首先我么要知道这个控件名是什么
在这里插入图片描述
然后是设置单击控件后的功能,具体程序如下:

import os
import sys

from PyQt5 import QtWidgets, QtCore
from PyQt5.QtCore import Qt, QRect
from PyQt5.QtWidgets import QMainWindow, QApplication, QPushButton, QWidget

from untitled import Ui_MainWindow  # 导入设计界面


# 设计的弹窗
class smallWindow(QWidget):
    def __init__(self):
        super(smallWindow, self).__init__()
        self.resize(100, 100)  # 窗体的大小(宽,高)
        self.setWindowTitle("我是弹窗")  # 窗体的标题
        self.setWindowFlags(Qt.WindowTitleHint)  # 显示窗口标题栏(这样写出来要什么,就可以将右上角的按钮去掉)
        self.pushButton = QPushButton(self)  # 在弹窗中定义一个按钮控件
        self.pushButton.setGeometry(QRect(30, 30, 40, 40))  # 参数含义:(横坐标【即离左边框的距离】,纵坐标【即离上边框的距离】,控件的宽,控件的高)
        self.pushButton.setText('确定')

class mainWindow(QMainWindow, Ui_MainWindow):
    def __init__(self):
        super(mainWindow, self).__init__()
        self.setupUi(self)  # 初始化窗口

        self.pushButton.clicked.connect(self.openWindow)  # 将点击控件的动作和跳出弹窗的功能函数相连接

    def openWindow(self):
        self.smallWindow_ui = smallWindow()
        self.smallWindow_ui.show()
        self.smallWindow_ui.pushButton.clicked.connect(self.smallWindow_ui.close)  # 点击按钮可以关闭窗口


if __name__ == "__main__":
    app = QApplication(sys.argv)
    ui = mainWindow()
    ui.show()
    sys.exit(app.exec_())

具体功能程序里有注释,相对于之前界面设计那一节添了哪些可以对比进行看一下

PS:程序中有一句self.setWindowFlags(Qt.WindowTitleHint) ,解释下这个:
这句的主要功能时将我弹窗的右上角缩小/放大/关闭这三个按钮删掉,你可以尝试删去这句话,就会发现他们又出现在你的弹窗中了。

其中Qt.WindowTitleHint换成别的,具有不同的功能:
Qt.CustomizeWindowHint自定义窗口提示栏,只有它的时候上面全部消失
Qt.WindowTitleHint显示图标和标题
Qt.WindowSystemMenuHint显示系统菜单
Qt.WindowMinimizeButtonHint显示最小化按钮
Qt.WindowMaximizeButtonHint显示最大化按钮
Qt.WindowMinMaxButtonsHint显示最小化按钮和最大化按钮
Qt.WindowCloseButtonHint显示关闭按钮
Qt.Drawer去掉窗口左上角的图标和右上角的最大化最小化按钮,只剩标题和关闭按钮

当我们想挑选几个显示的时候,中间可以用|来隔开,例如:
self.setWindowFlags(Qt.WindowTitleHint|Qt.WindowMinimizeButtonHint)这时弹窗上方就只有图标标题和最小化按钮了


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/41342.html

按钮  控件  显示  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1