博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
标准对话框的使用
阅读量:5748 次
发布时间:2019-06-18

本文共 2796 字,大约阅读时间需要 9 分钟。

代码:

1 #coding: utf-8 2 from PyQt4.QtGui import * 3 from PyQt4.QtCore import * 4 import sys 5 #设定 tr 方法使用 utf8 编码来解析文字 6 QTextCodec.setCodecForTr(QTextCodec.codecForName("utf8")) 7  8 class StandardDialog(QDialog): 9 10     def __init__(self, parent=None):11         super(StandardDialog, self).__init__(parent)12         #设置程序标题13         self.setWindowTitle("Standard Dialog")14         #创建各个按钮控件15         filePushButton = QPushButton(self.tr("文件对话框"))16         colorPushButton = QPushButton(self.tr("颜色对话框"))17         fontPushButton = QPushButton(self.tr("字体对话框"))18         #创建一个QLineEdit类实例fileLineEdit,用来显示选择的文件名19         self.fileLineEdit = QLineEdit()20         #创建一个 QFrame 类例 colorFrame,当用户选择不同的颜色时,colorFrame 会根据用户选择的颜色更新其背景21         self.colorFrame = QFrame()22         self.colorFrame.setFrameShape(QFrame.Box)23         self.colorFrame.setAutoFillBackground(True)24         #创建一个 QLineEdit 类实例 fontLineEdit,当用户选择不同的字体时,fontLineEdit 会根据用户选择的字体更新其内容25         self.fontLineEdit = QLineEdit("Hello World!")26         #将各个控件进行布局27         layout = QGridLayout()28         layout.addWidget(filePushButton, 0, 0)29         layout.addWidget(self.fileLineEdit, 0, 1)30         layout.addWidget(colorPushButton, 1, 0)31         layout.addWidget(self.colorFrame, 1, 1)32         layout.addWidget(fontPushButton, 2, 0)33         layout.addWidget(self.fontLineEdit, 2, 1)34 35         self.setLayout(layout)36         #将各个按钮的 clicked 信号相应的槽进行连接37         self.connect(filePushButton, SIGNAL("clicked()"), self.openFile)38         self.connect(colorPushButton, SIGNAL("clicked()"), self.openColor)39         self.connect(fontPushButton, SIGNAL("clicked()"), self.openFont)40 41     def openFile(self):42         #getOpenFileName()是QFileDialog 类的一个静态方法,返回用户选择的文件名,如果用户选择取消,则返回一个空串43         s = QFileDialog.getOpenFileName(self, "Open file dialog", "/", "Python files(*.py)")44         self.fileLineEdit.setText(str(s))45 46     def openColor(self):47         #slotColor()函数是颜色对话框按钮 clicked 信号的槽。其中 getColor()是 QColorDialog 的一个静态函数,返回用户选择的颜色值48         c = QColorDialog.getColor(Qt.blue)49         if c.isValid():50             self.colorFrame.setPalette(QPalette(c))51 52     def openFont(self):53 54         f,ok = QFontDialog.getFont()55         if ok:56             self.fontLineEdit.setFont(f)57 58 app = QApplication(sys.argv)59 form = StandardDialog()60 form.show()61 app.exec_()

1.QFileDialog 类还提供了类似的其他静态函数,如下表,通过这些函数,用户可以方便地定制自己的文件对话框。

2.slotFont()函数是字体对话框按钮clicked信号的槽。其中getFont()是QFontDdialog的一个静态函数,返回用户选择的字体,函数形式如下:

(QFont, bool)getFont(QFont, QWidget, QString, FontDialogOptions)

 (QFont, bool) getFont (QFont, QWidget, QString)

 (QFont, bool) getFont (QFont, QWidget parent = None)
 (QFont, bool) getFont (QWidget parent = None)

转载于:https://www.cnblogs.com/nju2014/p/4488926.html

你可能感兴趣的文章
类似Freemarker的另一款模版工具velocity
查看>>
成功应用BI的策略
查看>>
图片验证码
查看>>
Explorer程序出错
查看>>
JDBC如何进行超时设置
查看>>
2014年四大热门语言的最佳实践
查看>>
java之抽象工厂
查看>>
单链表的操作
查看>>
php mysql事务处理回滚操作
查看>>
log4j2性能剖析
查看>>
修改系统时间 ubuntu
查看>>
Centos7同时运行多个Tomcat
查看>>
Linux的find命令
查看>>
使用CocoaPods过程中的几个问题
查看>>
我的友情链接
查看>>
mysql数据类型---数值型---int
查看>>
Idea 码云gitee管理代码
查看>>
linux5月24日课笔记
查看>>
为eclipse安装maven插件
查看>>
PXE+Kickstart无人值守安装操作系统
查看>>