读Pyqt4教程,带你入门Pyqt4 _005
对话框窗体或对话框是现代GUI应用不可或缺的一部分。dialog定义为两个或多个人之间的交谈。在计算机程序中dialog是一个窗体,用来和程序“交谈”。对话框用来输入数据、修改数据、改变程序设置等等。对话框是用户和计算机程序沟通的重要手段。
QColorDialog
颜色对话框为定制颜色提供一个对话框组件。
#!/usr/bin/python
# -*- coding: utf-8 -*- # colordialog.py import sys
from PyQt4 import QtGui
from PyQt4 import QtCore class Example(QtGui.QWidget): def __init__(self):
super(Example, self).__init__() self.initUI() def initUI(self): color = QtGui.QColor(0, 0, 0) self.button = QtGui.QPushButton('Dialog', self)
self.button.setFocusPolicy(QtCore.Qt.NoFocus)
self.button.move(20, 20) self.connect(self.button, QtCore.SIGNAL('clicked()'),
self.showDialog)
self.setFocus() self.widget = QtGui.QWidget(self)
self.widget.setStyleSheet("QWidget { background-color: %s }"
% color.name())
self.widget.setGeometry(130, 22, 100, 100) self.setWindowTitle('ColorDialog')
self.setGeometry(300, 300, 250, 180) def showDialog(self): col = QtGui.QColorDialog.getColor() if col.isValid():
self.widget.setStyleSheet("QWidget { background-color: %s }"
% col.name()) if __name__ == '__main__': app = QtGui.QApplication(sys.argv)
ex = Example()
ex.show()
app.exec_()
该例子显示一个按钮和一个 QWidge 对象。组件的背景设为黑色,我们可以用 QColorDialog 来改变它的背景。
color = QtGui.QColorDialog.getColor()
这行代码将会弹出一个 QColorDialog 。
if col.isValid():
self.widget.setStyleSheet("QWidget { background-color: %s }"
% col.name())
检查颜色是否有效,如果点击了取消按钮,将返回无效的颜色。如果颜色有些,我们使用样式修改背景颜色。
QFontDialog
QFontDialog 是一个用来选择字体的对话框组件。
#!/usr/bin/python
# -*- coding: utf-8 -*- # fontdialog.py import sys
from PyQt4 import QtGui
from PyQt4 import QtCore class Example(QtGui.QWidget): def __init__(self):
super(Example, self).__init__() self.initUI() def initUI(self): hbox = QtGui.QHBoxLayout() button = QtGui.QPushButton('Dialog', self)
button.setFocusPolicy(QtCore.Qt.NoFocus)
button.move(20, 20) hbox.addWidget(button) self.connect(button, QtCore.SIGNAL('clicked()'), self.showDialog) self.label = QtGui.QLabel('Knowledge only matters', self)
self.label.move(130, 20) hbox.addWidget(self.label, 1)
self.setLayout(hbox) self.setWindowTitle('FontDialog')
self.setGeometry(300, 300, 250, 110) def showDialog(self): font, ok = QtGui.QFontDialog.getFont()
if ok:
self.label.setFont(font) if __name__ == '__main__': app = QtGui.QApplication(sys.argv)
ex = Example()
ex.show()
app.exec_()
该例子中,我们有一个按钮和一个标签。我们用 QFontDialog 改变标签的字体。
hbox.addWidget(self.label, 1)
我们把标签加入到水平框布局中。设置延展因素为1,当我们选择不同的字体时,文字可能变得更大。否则标签可能显示不完全。
if ok:
self.label.setFont(font)
如果点击确定,标签的字体将会改变。
QFileDialog
QFileDialog 允许用户选择文件或文件夹,可选择文件来打开和保存。
#!/usr/bin/python
# -*- coding: utf-8 -*- # openfiledialog.py import sys
from PyQt4 import QtGui
from PyQt4 import QtCore class Example(QtGui.QMainWindow): def __init__(self):
super(Example, self).__init__() self.initUI() def initUI(self): self.textEdit = QtGui.QTextEdit()
self.setCentralWidget(self.textEdit)
self.statusBar()
self.setFocus() openFile = QtGui.QAction(QtGui.QIcon('open.png'), 'Open', self)
openFile.setShortcut('Ctrl+O')
openFile.setStatusTip('Open new File')
self.connect(openFile, QtCore.SIGNAL('triggered()'), self.showDialog) menubar = self.menuBar()
fileMenu = menubar.addMenu('&File')
fileMenu.addAction(openFile) self.setGeometry(300, 300, 350, 300)
self.setWindowTitle('OpenFile') 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_()
这个例子显示一个菜单,中间放置一个文本编辑框,还有一个状态栏。状态机仅为了设计目的显示。菜单项显示 QFileDialog 来选择文件,文件的内容加载进文本编辑器。
class Example(QtGui.QMainWindow):
def __init__(self):
super(Example, self).__init__()
这个例子建立在 QMainWindow 组件上,因为我们需要在中间设置文本编辑器。
fname = open(filename)
data = fname.read()
self.textEdit.setText(data)
读取选择的文件,并把文件内容放入文本编辑器。
fname = open(filename)
data = fname.read()
self.textEdit.setText(data)
读取选择的文件,并把文件内容放入文本编辑器。
PyQt4教程这的部分我们致力于布局管理。

本站文章为宝宝巴士 SD.Team原创,转载务必在明显处注明:(作者官方网站:宝宝巴士)
转载自【宝宝巴士SuperDo团队】 原文链接: http://www.cnblogs.com/superdo/p/4528239.html
读Pyqt4教程,带你入门Pyqt4 _005的更多相关文章
- 读Pyqt4教程,带你入门Pyqt4 _009
QLineEdit QLineEdit 窗口组件用来输入或者编辑单行纯文本,有撤销/重做,剪切/粘贴和拖放功能. #!/usr/bin/python # -*- coding: utf-8 -*- # ...
- 读Pyqt4教程,带你入门Pyqt4 _004
在PyQt4教程的这部分中,我们将探讨应用中事件和信号的发生. 事件是GUI程序的重要部分,由用户或者系统产生.当我们调用应用的 exec_() 方法,应用进入主循环.主循环获取事件并把它们发往对象. ...
- 读Pyqt4教程,带你入门Pyqt4 _003
编程中的一个重要事情是布局管理,布局管理是如何在窗体上摆放窗口组件.可以有两种方式进行管理:绝对定位或使用布局类. 绝对定位 程序员用像素指定每个控件的位置和尺寸.使用绝对定位时,你必须理解几件事情. ...
- 读Pyqt4教程,带你入门Pyqt4 _002
在这节教程中,我们将创建菜单和工具栏. QMainWindow 类提供应用程序主窗口,可以创建一个经典的拥有状态栏.工具栏和菜单栏的应用程序骨架. 菜单栏 菜单栏是GUI应用程序最明显的部分之一,这是 ...
- 读Pyqt4教程,带你入门Pyqt4 _013
你是否曾经看着应用程序并思考特定的GUI项是如何产生的?大概每位程序员都这样过.然后你能看到你喜欢的GUI库提供的一系列窗口组件,但是你无法找到它.工具包通常仅仅提供最常用的窗口组件,比如按钮.文本组 ...
- 读Pyqt4教程,带你入门Pyqt4 _012
颜色 颜色是指一个代表红(Red).绿(Green).蓝(Blue)(RGB)强度值组合的对象,有效的RGB值在0~255之间.我们可以用多种方式定义颜色,最常用的是RGB十进制或者十六进制值.也可以 ...
- 读Pyqt4教程,带你入门Pyqt4 _010
在PyQt4教程的这部分中,我们讨论拖放操作. 拖放(Drag-and-drop)指的是图形用户界面(Graphical user interface)中,在一个虚拟的对象上按着鼠标键将之拖曳到另一个 ...
- 读Pyqt4教程,带你入门Pyqt4 _006
窗口组件是应用程序的基本构建块.PyQt4编程工具包拥有范围广泛的各种窗口组件.按钮.选择框.滑块.列表框等等,程序员工作所需要的一切.在教程的这部分中,我们将介绍一些有用的窗口组件. QCheckB ...
- 读Pyqt4教程,带你入门Pyqt4 _008
QCalendarWidget QCalendarWidget 提供基于月份的日历窗口组件,它允许用户简单并且直观的选择日期. #!/usr/bin/python # -*- coding: utf- ...
随机推荐
- muduo网络库源码学习————线程本地单例类封装
muduo库中线程本地单例类封装代码是ThreadLocalSingleton.h 如下所示: //线程本地单例类封装 // Use of this source code is governed b ...
- E - Help Jimmy POJ - 1661 dp
E - Help Jimmy POJ - 1661 这个题目本身不是很难,但是可以更加优化这个写法. 开始是n*n #include <cstdio> #include <cstri ...
- Java 函数式接口
目录 Java 函数式接口 1. 函数式接口 1.1 概念 1.2 格式 1.3 函数式接口的使用 2. 函数式编程 2.1 Lambda的延迟执行 性能浪费的日志案例 使用Lambda表达式的优化 ...
- 王颖奇 20171010129《面向对象程序设计(java)》第十五周学习总结
实验十五 GUI编程练习与应用程序部署 实验时间 2018-12-6 学习总结: 理论部分: ◼ JAR文件◼ 应用程序首选项存储◼ Java Web Start JAR文件: 1.Java程序的打 ...
- 王颖奇 201771010129《面向对象程序设计(java)》第八周学习总结
实验六 接口的定义与使用 实验时间 2018-10-18 1.实验目的与要求 (1) 掌握接口定义方法: (2) 掌握实现接口类的定义要求: (3) 掌握实现了接口类的使用要求: (4) 掌握程序回调 ...
- Qt之分模块log
说明 对于一般的log,使用 qInstallMessageHandler 重定向到文件即可,甚至可以根据日志等级,分类存储.但是并不是适用所有情况,比如,程序运行时动态创建模块,而每个模块需要创建不 ...
- 【Spark】Spark-shell案例——单词计数统计
目录 步骤 一.准备本地文件以作测试 二.通过 --master启动本地模式 三.开发scala单词统计代码 步骤 一.准备本地文件以作测试 在第一台机器执行 mkdir -p /export/ser ...
- 基于情感词典的python情感分析
近期老师给我们安排了一个大作业,要求根据情感词典对微博语料进行情感分析.于是在网上狂找资料,看相关书籍,终于搞出了这个任务.现在做做笔记,总结一下本次的任务,同时也给遇到有同样需求的人,提供一点帮助. ...
- HMM-前向后向算法理解与实现(python)
目录 基本要素 HMM三大问题 概率计算问题 前向算法 后向算法 前向-后向算法 基本要素 状态 \(N\)个 状态序列 \(S = s_1,s_2,...\) 观测序列 \(O=O_1,O_2,.. ...
- android LoaderManger加载数据Tip
要查看LoaderManager的具体介绍请看博客: LoaderManager介绍 使用时发现不管怎么调用getLoaderManager().restartLoader(LOADER_TYPE_Q ...