作者:ZephyrHou / 欢迎交流学习!!!

在使用 PyQt 进行操作时,内置的窗口往往不能满足我们的需求,所以有时候我们需要自定义一个对话框来满足我们的需要。

1. 在使用前先导入需要用到的库

具体代码如下:

#!/usr/bin/python

# -*- coding: utf-8 -*-

from __future__ import division

import numpy as np

from PyQt4 import QtGui, QtCore

2.在导入需要的库完成后,接下来就是我们需要自定义一个类,来创建我们需要的对话窗口

具体代码如下:

class MultiInPutDialog(QtGui.QDialog):

def __init__(self, parent=None):

QtGui.QDialog.__init__(self, parent)

self.resize(100, 80)

self.setWindowTitle('Input')

self.setWindowIcon(QtGui.QIcon('td.png'))

grid = QtGui.QGridLayout()

grid.addWidget(QtGui.QLabel('Data Rows:', parent=self), 0, 0, 1, 1)

self.num_R = QtGui.QLineEdit(parent=self)

grid.addWidget(self.num_R,0, 1, 1, 1)

grid.addWidget(QtGui.QLabel('Data Cols:', parent=self), 1, 0, 1, 1)

self.num_C = QtGui.QLineEdit(parent=self)

grid.addWidget(self.num_C, 1, 1, 1, 1)

buttonBox = QtGui.QDialogButtonBox(parent=self)

buttonBox.setOrientation(QtCore.Qt.Horizontal) # 设置为水平方向

buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel | QtGui.QDialogButtonBox.Ok) # 确定和取消两个按钮

buttonBox.accepted.connect(self.accept) # 确定

buttonBox.rejected.connect(self.reject) # 取消

layout = QtGui.QVBoxLayout()

layout.addLayout(grid)

spacerItem = QtGui.QSpacerItem(20, 48, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)

layout.addItem(spacerItem)

layout.addWidget(buttonBox)

self.setLayout(layout)

# -------------------Close Event Method----------------------

def closeEvent(self, event):

reply = QtGui.QMessageBox.question(self, 'Close Message',

"Are you sure to quit?", QtGui.QMessageBox.Yes |

QtGui.QMessageBox.No, QtGui.QMessageBox.No)

if reply == QtGui.QMessageBox.Yes:

event.accept()

else:

event.ignore()

3. OK,上面就创建好了我们需要的窗口,在使用时,具体代码如下:

app = QtGui.QApplication([])

dialog = MultiInPutDialog()

if dialog.exec_():

hs=int(dialog.num_R.text())

ls=int(dialog.num_C.text())

print hs

print ls

4.运行山面代码,具体效果如下:

1.png

当我们点击OK按钮之后,在运行窗口如下:

2.png

其他关于对话框的操作,请参考PyQt4的官方文档。

python 对话框的创建及调用_Python 使用 PyQt 自定义对话框相关推荐

  1. python os模块创建文件夹_Python创建文件夹与文件的快捷方法

    前言 Python快捷创建文件夹和文件详解 自己做文件时发现  简单的反复操作十分浪费时间,于是想到了 使用Python,这个分享给大家,快捷高效办公. 项目目录 file11 创建文件夹 file2 ...

  2. python类的创建及调用_在创建Python类时调用类方法

    您可以使用 metaclass或 class decorator执行此操作. 类装饰器(自2.6起)可能更容易理解: def call_clsinit(cls): cls._clsinit() ret ...

  3. 关于模态对话框和非模态对话框的创建、显示,以及和父对话框的传值

    当然网上关于这方面的技术博文非常多,此处我只是进行一下小记,再加一点自己的体会,方便以后查询. 一.模态对话框 1.创建及显示 模态对话框是一种阻塞式的对话框,即没有处理完该对话框,不能对其他地方进行 ...

  4. python脚本之家 包的创建和调用_python基础之包的导入和__init__.py的介绍

    调用同级目录: – src |– mod.py |– test.py 若在程序test.py中导入模块mod, 则直接使用 import mod 或 from mod import * 调用子目录下的 ...

  5. python 对话框的创建及调用_单击按钮创建新对话框

    我正在创建一个最初显示登录和注册按钮的应用程序. 点击登录,我想显示另一个屏幕(或对话框),这将允许用户输入用户名和密码.在 我想在第二个对话出现时隐藏第一个对话,但无法做到这一点 我们可以通过连接到 ...

  6. python怎么封装方法然后调用_Python实现封装打包自己写的代码,被python import

    1.新建一个文件夹example,里面放入要打包的.py文件,以及必需的_init_.py. 代码如下: # -*- coding: utf-8 -*- """ Crea ...

  7. python open函数 创建变量文件_python的open函数怎么用

    python open() 函数用于打开一个文件,创建一个 file 对象,相关的方法才可以调用它进行读写. 函数语法open(name[, mode[, buffering]]) 参数说明: nam ...

  8. python os如何创建文件夹_Python怎样创建文件夹,怎样删除文件夹

    Python在存储数据的时候需要创建和删除文件夹.今天小编我就来给大家分享一下Python怎样创建和删除文件夹的经验. 工具/原料 电脑 Python3 方法/步骤 1 首先可以用Python的os模 ...

  9. python os如何创建文件夹_python怎么创建文件夹

    Python对文件的操作还算是方便的,只需要包含os模块进来,使用相关函数即可实现目录的创建. 主要涉及到三个函数(推荐学习:Python视频教程) 1.os.path.exists(path) 判断 ...

最新文章

  1. 《Android开发艺术探索》读书笔记 (3) 第3章 View的事件体系
  2. windows下Pycharm中安装Pygame
  3. STM32F103 SPI 主机模式分析
  4. python获取指定目录下所有文件名os.walk和os.listdir
  5. Java中的queue和deque
  6. boost::regex模块captures相关的测试程序
  7. pycharm运行完第一个程序,怎么运行第二个程序
  8. 国考报名显示服务器繁忙,公益性岗位考试内容-面试:牢记服务初心,让海关面试作答更具温度...
  9. Oracle导入导出批处理
  10. 图书在线网店的html,网上书城html模板.docx
  11. 产品报告|利用SWOT模型分析趣头条APP
  12. 工作,究竟意味着什么
  13. python获取摄像头数据_用Python获取摄像头并实时控制人脸 !
  14. PL/SQL调试存储过程
  15. GC是什么?为什么要有GC
  16. Lycn 2013 with SQL AlwaysOn 「一」建立AlwaysOn
  17. Ubuntu 文件同步工具 rsync
  18. 学计算机换屏幕,更换笔记本电脑屏幕图解
  19. 江苏大学毕业设计TEX排版(二)
  20. 分布式和集群的区别和联系

热门文章

  1. 机器学习数据整合+pandas方法astype、merge、drop、to_numeric、concat等
  2. R可视化包ggplot2改变图例(Legend)的位置实战
  3. pdb+ipdb 调试 Python代码
  4. 评分卡模型、WOE(Weight of Evidence)和IV(Information Value)
  5. Bi-level error correction for PacBio long reads. PacBio长读数的两级纠错
  6. StatQuest-对RNA-seq的介绍
  7. python for bioinformatics相关题目
  8. C++ 继承过程中使用访问说明符和虚函数
  9. linux执行cli文件,linux – 如何“撤消”在终端/ CLI中执行的“解压缩”?
  10. java如何使实验箱蜂鸣器响_按键按一次蜂鸣器响一次的单片机程序