QDialog:输入对话框、颜色对话框、字体对话框、文件对话框
- # _*_ coding:utf-8 _*_
- import sys
- from PyQt4 import QtCore,QtGui
- class Example(QtGui.QWidget):
- def __init__(self):
- super(Example,self).__init__()
- self.initUI()
- def initUI(self):
- self.button=QtGui.QPushButton('Dialog',self)
- self.button.setFocus()
- self.button.move(20,20)
- self.connect(self.button,QtCore.SIGNAL('clicked()'),self.showDialog)
- self.setFocus()
- self.label=QtGui.QLineEdit(self)
- self.label.setMaximumWidth(20)
- self.label.move(130,22)
- self.widget=QtGui.QWidget(self)
- self.widget.setStyleSheet("QWidget{background-color:red}" )
- grid=QtGui.QGridLayout()
- grid.addWidget(QtGui.QPushButton(u'我是个按钮'),1,1)
- grid.addWidget(QtGui.QPushButton(u'我是个按钮'), 0, 0)
- #self.setLayout(grid)
- self.widget.setLayout(grid)
- self.widget.move(150,22)
- self.resize(100,100)
- #self.widget.setGeometry(150, 22, 100, 150)
- self.buuton2=QtGui.QPushButton(u'设置背景色',self)
- self.connect(self.buuton2,QtCore.SIGNAL('clicked()'),self.changeBackground)
- self.buuton2.move(220,22)
- self.setWindowTitle('InputDialog')
- self.setGeometry(300,300,350,80)
- def showDialog(self):
- text,ok=QtGui.QInputDialog.getText(self,'Input Dialog','Enter your name');
- if ok:
- self.label.setText(str(text))
- def changeBackground(self):
- col=QtGui.QColorDialog.getColor()
- if col.isValid():
- self.widget.setStyleSheet("QWidget { background-color: %s }"
- % col.name())
- def showDialog(self):
- font, ok = QtGui.QFontDialog.getFont()
- if ok:
- self.label.setFont(font)
- def showDialog(self):
- filename = QtGui.QFileDialog.getOpenFileName(self, 'Open file',
- '/home')
- fname = open(filename)
- data = fname.read()
- self.textEdit.setText(data)
- app=QtGui.QApplication(sys.argv)
- ex=Example()
- ex.show()
- app.exec_()
代码中给出输入对话框和颜色对话框的简单应用,另外两个大同小异,没有实现。这里我探索一下QWidget的复合。即在一个Qwidget中叠加多个Qwidget。
对于它们之间的事件关系我没有研究。这里仅仅关注界面构成:
- self.widget=QtGui.QWidget(self)
- self.widget.setStyleSheet("QWidget{background-color:red}" )
- grid=QtGui.QGridLayout()
- grid.addWidget(QtGui.QPushButton(u'我是个按钮'),1,1)
- grid.addWidget(QtGui.QPushButton(u'我是个按钮'), 0, 0)
- #self.setLayout(grid)
- self.widget.setLayout(grid)
- self.widget.move(150,22)
这里我在主窗口里添加了一个widget,同时对这个widget使用QgridLayout进行布局管理。我发现这个widget的大小不受我代码的控制了。应该是布局管理器的规则影响。
这样同理我可以嵌套多个widget,而且通过对grid的删除可以实现选项卡的功能。666
QDialog:输入对话框、颜色对话框、字体对话框、文件对话框的更多相关文章
- Java开发笔记(一百三十五)Swing的文件对话框
除了常规的提示对话框,还有一种对话框也很常见,它叫做文件对话框.文件对话框又分为两小类:打开文件的对话框.保存文件的对话框,但在Swing中它们都用类型JFileChooser来表达.下面是JFile ...
- MFC 文件对话框
文件对话框的分类 文件对话框分为打开文件对话框和保存文件对话框,相信大家在Windows系统中经常见到这两种文件对话框.例如,很多编辑软件像记事本等都有"打开"选项,选择" ...
- MFC编程入门之十七(对话框:文件对话框)
上一讲介绍的是消息对话框,本节讲解文件对话框.文件对话框也是很常用的一类对话框. 文件对话框的分类 文件对话框分为打开文件对话框和保存文件对话框,相信大家在Windows系统中经常见到这两种文件对话框 ...
- 工作总结:文件对话框的分类(C++)
原文地址:http://www.jizhuomi.com/software/173.html 文件对话框分为打开文件对话框和保存文件对话框,相信大家在Windows系统中经常见到这两种文件对话框.例如 ...
- VS2010/MFC对话框:文件对话框
文件对话框 上一讲介绍的是消息对话框,本节讲解文件对话框.文件对话框也是很常用的一类对话框. 文件对话框的分类 文件对话框分为打开文件对话框和保存文件对话框,相信大家在Windows系统中 ...
- VS2010/MFC编程入门之十七(对话框:文件对话框)
上一讲鸡啄米介绍的是消息对话框,本节讲解文件对话框.文件对话框也是很常用的一类对话框. 文件对话框的分类 文件对话框分为打开文件对话框和保存文件对话框,相信大家在Windows系统中经常见 ...
- VS2010-MFC(对话框:文件对话框)
转自:http://www.jizhuomi.com/software/173.html 一 文件对话框的分类 文件对话框分为打开文件对话框和保存文件对话框,相信大家在Windows系统中 ...
- C#线程安全打开/保存文件对话框
在多线程单元模式(MTA)中为应用程序使用.NET OpenFileDialog和SaveFileDialog 下载FileDialogsThreadAppartmentSafe_v1.zip 如果您 ...
- 19.QT对话框(文件对话框,颜色对话框,字体框,自定义对话框)
文件对话框 #include<QFileDialog> //文件对话框 void Dialog::on_pushButton_clicked() { //定义显示文件的类型 窗口标题 可供 ...
- QT学习 之 对话框 (四) 字体对话框、消息对话框、文件对话框、进程对话框(超详细中文注释)
QMessageBox类: 含有Question消息框.Information消息框.Warning消息框和Critical消息框等 通常有两种方式可以来创建标准消息对话框: 一种是采用“基于属性”的 ...
随机推荐
- Linux内核3.11的socket busy poll机制避免睡眠切换
Linux的网络协议栈很独立,上下通过两个接口分别和用户态以及设备相连.也能够看作是北向和南向接口...北向通过socket接口,南向通过qdisc接口(你能够觉得是上层的netdev queue,对 ...
- 【VMware虚拟化解决方案】配置和部署VMware ESXi5.5
[VMware虚拟化解决方案]配置和部署VMware ESXi5.5 时间 2014-04-08 10:31:52 让"云"无处不在的博客原文 http://mabofeng. ...
- ExceptionLess 搭建到本地服务器
Exceptionless 是一个开源的实时的日志收集框架,它可以应用在基于 ASP.NET,ASP.NET Core,Web Api,Web Forms,WPF,Console,MVC 等技术栈的应 ...
- mysql sleep连接太多怎么办
摘要:interactive_timeout和wait_timeout参数对sleep连接的影响 interactive_timeout 参数含义:服务器关闭交互式连接前等待活动的秒数.交互式客户端定 ...
- 最新最全的iOS手机支付总结
关于手机支付,我想简单总结一下,我想主要分成三大类: 第一类,就是我们最常见的应用内支付(IAP),例如APPStore里面我们可以付费下载一些APP或者游戏. 第二类,就是我们经常使用第三方支付,例 ...
- Python学习笔记020——数据库中的数据类型
1 数值类型 数值类型分为有符号signed和无符号unsigned两种. 1.1 整型 int (1)bigint 极大整型(8个字节) 范围 :-2**64 ~ 2**64 - 1 -922337 ...
- python中的三引号
在python中,三引号支持字符串跨多行.包含换行符号.制表符号.以及其它特殊字符 >>> hi = ''' ... this ... is a ... test ... ''' & ...
- codeforces#254DIV2解题报告
今天简直大爆发啊... 吃了顿烧烤竟然这么管事. . . .. 本弱渣竟然做出来了3道,并且B题是我第一次在CF中用到算法..(曾经最多也就是贪心. . . ). 题目地址:codeforces#22 ...
- VS2012开发cocos游戏遇到问题汇总
1.编译成android时.须要改动jni/android.mk,每一个cpp都改动一下太麻烦,能够让他自己主动识别. # 遍历文件夹及子文件夹的函数 define walk $(wildcard $ ...
- C 指向指针的指针
#include <stdio.h> int main() { char *cBooks[] = { "C程序设计语言", "C专家编程", &qu ...