zoukankan      html  css  js  c++  java
  • PyQt5-对话框控件使用(QDialog)

    PyQt5中对话框QDialog类的子类主要有QMessageBox、QFileDialog、QFontDialog、QInputDialog等

    Dialog中的类常用方法如下:

    QDialog控件例如:

     1 #QDialog对话框使用
     2 from PyQt5.QtWidgets import  QVBoxLayout,QWidget,QApplication ,QHBoxLayout,QDialog,QPushButton,QMainWindow,QGridLayout,QLabel
     3 
     4 from PyQt5.QtGui import QIcon,QPixmap,QFont
     5 from PyQt5.QtCore import  Qt
     6 
     7 import sys
     8 
     9 class WindowClass(QWidget):
    10 
    11     def __init__(self,parent=None):
    12 
    13         super(WindowClass, self).__init__(parent)
    14         layout=QVBoxLayout()
    15         self.btn=QPushButton()
    16         self.btn.setText("显示对话框")
    17         self.btn.clicked.connect(self.showDialog)
    18         self.resize(500,500)
    19         layout.addWidget(self.btn)
    20 
    21         self.setLayout(layout)
    22 
    23     def showDialog(self):
    24          vbox=QVBoxLayout()#纵向布局
    25          hbox=QHBoxLayout()#横向布局
    26          panel=QLabel()
    27          panel.setText("确定保存信息?")
    28          self.dialog=QDialog()
    29          self.dialog.resize(100,100)
    30          self.okBtn=QPushButton("确定")
    31          self.cancelBtn=QPushButton("取消")
    32 
    33          #绑定事件
    34          self.okBtn.clicked.connect(self.ok)
    35          self.cancelBtn.clicked.connect(self.cancel)
    36 
    37          self.dialog.setWindowTitle("提示信息!")
    38          #okBtn.move(50,50)#使用layout布局设置,因此move效果失效
    39          # 确定与取消按钮横向布局
    40          hbox.addWidget(self.okBtn)
    41          hbox.addWidget(self.cancelBtn)
    42 
    43          #消息label与按钮组合纵向布局
    44          vbox.addWidget(panel)
    45          vbox.addLayout(hbox)
    46          self.dialog.setLayout(vbox)
    47 
    48          self.dialog.setWindowModality(Qt.ApplicationModal)#该模式下,只有该dialog关闭,才可以关闭父界面
    49          self.dialog.exec_()
    50 
    51     #槽函数如下:
    52     def ok(self):
    53         print("确定保存!")
    54         self.dialog.close()
    55     def cancel(self):
    56         print("取消保存!")
    57         self.dialog.close()
    58 
    59 if __name__=="__main__":
    60     app=QApplication(sys.argv)
    61     win=WindowClass()
    62     win.show()
    63     sys.exit(app.exec_())

  • 相关阅读:
    python基本数据类型之字符串(二)
    python基本数据类型之字符串(一)
    Java基础之Java简介
    1024lab-How to run project using .ipynb
    pytorch调试工具
    关于深度学习选择和使用GPU
    中文文本预处理
    GCN相关
    Bert project Debug记录
    图卷积相关的参考
  • 原文地址:https://www.cnblogs.com/ygzhaof/p/10064851.html
Copyright © 2011-2022 走看看