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消息框等 通常有两种方式可以来创建标准消息对话框: 一种是采用“基于属性”的 ...
随机推荐
- 理解SVG的图形填充规则
SVG的图形填充规则通过fill-rule属性来指定. 有效值: nonzero | evenodd | inherit 默认值: nonzero fill-rule属性用于指定使用哪一种算法 ...
- 微信小程序的零食商城
概述 这是一个微信小程序的商城应用,功能包括了首页.分类.购物车.个人中心.商品列表.商品详情.订单.地址管理等 详细 代码下载:http://www.demodashi.com/demo/10353 ...
- this.class.getClassLoader().getResourceAsStream与this.class.getResourceAsStream
本文部分转自:http://xixinfei.iteye.com/blog/1256291 this.getClass().getClassLoader().getResource("tem ...
- javascript高级程序设计第一章
看后总结: 1.javascript的组成成分:ECMAscript+DOM+BOM
- 键盘事件keydown、keypress、keyup随笔整理总结
英文输入法: 事件触发顺序:keydown - > keypress - > keyup 中文输入法: firfox:输入触发keydown,回车确认输入触发keyup chr ...
- 使用ShareSDK完成第三方(QQ、微信、微博)登录和分享
这几天遇到一个需求:做第三方登录和分享.遇到了一些坑,把整个过程整理记录下来,方便他人,同时也捋一下思路. 当时考虑过把每个平台的SDK下载下来,一个一个弄,一番取舍后决定还是用ShareSDK.这里 ...
- 跳出框架iframe的操作语句
常用的iframe操作语句 ① 本页面跳转语句: "window.location.href" 或者 "location.href" ② 上一层页面跳转 ...
- windows平台安装redis服务
有时候我们需要在windows平台上使用redis作为缓存服务,这个时候就需要将redis安装为window服务. 现在将我安装过程记录下来,方便自己或者有类似需求的同学参考.主要是参考网上现有的例子 ...
- 学习WCF笔记之二
一.学习文章http://www.cnblogs.com/iamlilinfeng/archive/2012/09/25/2700049.html 二.步骤 学习WFC,按照大神的文章一步步学习,不过 ...
- DBA_实践指南系列2_Oracle Erp R12系统安装配置设定Setup(案例)
2013-12-02 Created By BaoXinjian