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)
这时弹窗上方就只有图标标题和最小化按钮了