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消息框等 通常有两种方式可以来创建标准消息对话框: 一种是采用“基于属性”的 ...
随机推荐
- TCP并发server模型(三)
本篇博客讲述的是单client单线程模型,该模型相同由主进程统一accept,仅仅是将fork改为了pthread_create. 与进程相比,线程有非常多长处(速度快,占用资源少.数据能够共享). ...
- Jquery.getJSON的缓存问题的处理方法
$.getJSON()存在缓存问题,如果其调用的url之前曾经调用过的话,回调函数就会直接在缓存里取得想要得值,而不是进入到后台 在项目中遇到一个问题,在火狐下,$.getJSON();请求数据一 ...
- div最小高度的2种写法
1.第一种写法: 原理:在IE6中,使用CSS定义div的高度的时候经常遇到这个问题,就是当div的最小高度小于一定的值以后,就会发现,无论你怎么设置最小高度,div的高度会固定在一个值不再发生变动, ...
- Win7命令行下查看无线网络信息
查看本机记录的wifi热点 C:\Users\Milton>netsh wlan show profiles Profiles on interface Wireless Network Con ...
- Java多线程中run(), start(), join(), wait(), yield(), sleep()的使用
Run 每个Thread中需要实现的方法, 如果直接调用的话, 会是和单线程一样的效果, 要另起线程需要使用start(). start 新起线程调用run(). 主线程不等待直接往下执行 Yield ...
- define() vs const 该如何选择?
使用 define(),除非考虑到可读性.类常量.或关注微优化 1.在 PHP 中是使用 define() 函数来定义常量,PHP 5.3.0 以后,PHP 中也能够使用 const 关键字来声明常量 ...
- 【C++】关于带const的指针问题
区分const出现在*前还是*后 前: 例如const int *p,这种表示情况下,p本身可以改变,即p可以指向不同的地址, 但是p指向的内容不可改变. 就像你喜欢看书,图书馆规定你可以任意借阅及更 ...
- Cookies揭秘 [Asp.Net, Javascript]
一,前言 Cookies想必所有人都了解, 但是未必所有人都精通.本文讲解了Cookies的各方面知识, 并且提出来了最佳实践.这是笔者在日常工作中的积累和沉淀. 二,基础知识 1.什么是Cookie ...
- iOS开发打包
ios11个论坛地址 邓白氏编码 邓白氏申请 http://blog.fir.im/faq/ AdHoc,InHouse,App Store Account Type: InHouse ( ...
- JavaScript - 返回头部
制作浮动top $(window).scroll( function() { var scrollValue=$(window).scrollTop(); scrollValue > 600 ? ...