zoukankan      html  css  js  c++  java
  • 标准对话框的使用

    代码:

     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)

  • 相关阅读:
    wrap添加及去除外层dom的方法
    闭包作用域探究小例
    测试模型之W模型(脑图)
    软件测试模型之前置模型(脑图)
    软件测试模型之H模型(脑图)
    软件测试基础(脑图)
    测试模型之V模型(脑图)
    一个点型的rsyncd.conf内容
    rsync同步时报name lookup failed for name or service not known错误的解决方法
    ubuntu下的eclipse 3.3初用aptana报SWT错误
  • 原文地址:https://www.cnblogs.com/nju2014/p/4488926.html
Copyright © 2011-2022 走看看