Pyqt4学习笔记-对话框(更新ing)

QInputDialog:可交互输入单个值的对话框。输入值可以是一个字符串,一个数字或者列表的一项。

#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys
from PyQt4 import QtGui
from PyQt4 import QtCore

class InputExample(QtGui.QWidget):

    def __init__(self):
        super(InputExample, self).__init__()

        self.initUI()

    def initUI(self):

        self.button = QtGui.QPushButton(‘Dialog‘, self)
        self.button.setFocusPolicy(QtCore.Qt.NoFocus)
        # 设置聚焦策略,NoFocus表示不接受焦点

        self.button.move(20, 20)
        self.connect(self.button, QtCore.SIGNAL(‘clicked()‘),
                     self.showDialog)
        self.setFocus()
        # 信号接收之后(调用方法中的组件)获取焦点?

        self.label = QtGui.QLineEdit(self)
        self.label.setFocusPolicy(QtCore.Qt.NoFocus)
        # 设置聚焦策略,NoFocus表示不接受焦点
        self.label.move(130, 22)

        self.setWindowTitle(‘InputDialog‘)
        self.setGeometry(300, 300, 350, 80)

    def showDialog(self):
        # 初始化输入框,定义输入框Title,提示字符
        text, ok = QtGui.QInputDialog.getText(self, ‘Input Dialog‘,
                                              ‘Enter your name:‘)

        # ok 在上面作为if的标识用,和显示出来的效果无关
        # 输入框显示的默认都是ok,cancel
        if ok:
            self.label.setText(str(text))
            # 如果点击确认,输入的值会出现在上面的label中

if __name__ == ‘__main__‘:

    app = QtGui.QApplication(sys.argv)
    ex = InputExample()
    ex.show()
    app.exec_()

QFileDialog:允许用户选择文件或文件夹,可选择文件来打开和保存

#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys
from PyQt4 import QtGui
from PyQt4 import QtCore

class OpenFileExample(QtGui.QMainWindow):

    def __init__(self):
        super(OpenFileExample, self).__init__()

        self.initUI()

    def initUI(self):

        self.textEdit = QtGui.QTextEdit()
        self.setCentralWidget(self.textEdit)
        self.statusBar()
        self.setFocus()

        openFile = QtGui.QAction(QtGui.QIcon(‘icons/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‘)
        # 第一个字符串是标题,第二个字符串指定对话框的工作目录,在windows下用/home也是可以的
        fname = open(filename)
        # 不能直接打开路径中包含中文的文件,会报错
        data = fname.read()
        # 读取文件
        self.textEdit.setText(data)
        # 显示在文本域中

app = QtGui.QApplication(sys.argv)
ex = OpenFileExample()
ex.show()
app.exec_()

之后再更新。

时间: 2025-01-02 18:19:38

Pyqt4学习笔记-对话框(更新ing)的相关文章

Linux学习笔记——Ubuntu更新软件源

0.前言 通过修改ubuntu软件源可提高apt命令下载安装软件的速度. 参考资料 [官方资料]--配置文件修改方法 [Ubuntu怎样修改软件源地址]--使用ubuntu软件中心修改(推荐) [at-get update错误处理] 1.使用ubuntu软件中心更新 请参考[Ubuntu怎样修改软件源地址]--来自百度经验 图1 打开软件和更新 图2 选择国内软件源 2.使用指令方法修改 [1]首先备份源列表 sudo cp /etc/apt/sources.list /etc/apt/sour

一步步写 CMOS 驱动模块 <ELDD 学习笔记> (最近更新,写到open release为止)

一步步写 CMOS 驱动模块 Let's implement a char driver to access the system CMOS. 首先仅仅是创建设备模块,最简单的,类似于前面hello world模块一样的东东,从最简单的框架慢慢搭 /************************************************************ code writer : EOF code date : 2014.08.15 code file : cmos_demo.c

LDD和scull相关各种结构体的故事(学习笔记 不定期更新)

LDD和各种结构体的故事 struct scull_dev     位置:scull/scull.h struct scull_dev { struct scull_qset *data; /* Pointer to first quantum set */ int quantum; /* the current quantum size */ int qset; /* the current array size */ unsigned long size; /* amount of data

python3.x学习笔记2018-02-02更新

前言:python3.x部分学习笔记,有意交流学习者可加wechat:YWNlODAyMzU5MTEzMTQ=.如果笔记内容有错,请指出来. *** 对数据类型的操作 可变数据类型:列表,集合,字典 列表: ``` li=['a','b'] 增: li.insert(2,'c') #在序号2位置上插入'c' li.append('d') #在列表末尾添加'd' li.extend(li2) #在列表li后面添加li2 删: li.remove('c') del li[2] li.pop(3) 改

java 数据库编程 学习笔记 不断更新

最近开始学习java,感觉java的数据库编程需要发个随笔记录一下,话不多说 切入正题. 一.数据库访问技术的简介 应用程序  →  执行SQL语句 →数据库 → 检索数据结果 → 应用程序   ( ODBC         JDBC(两个常用的API)) java主要使用的 JDBC驱动程序进行数据库的编程 Java 应用程序 <------> JDBC   <------>  数据库 二.JDBC 的体系结构 应用层 ↓ 驱动层 ↓ 各个接口 •Driver •Connecti

Pyqt4学习笔记-事件和信号

调用应用的 exec_() 方法之后,应用进入主循环.主循环获取事件并把它们发往对象.应用在它的生命周期中产生的不同事件交互.事件主要由用户产生,但是它们也可以由其他方式产生,如:互联网,窗口管理器,定时器,当一个特殊的事件发生时,将发射信号,“槽 ”可以是任何Python调用,当链接到槽的信号发射,该槽将被调用. 在事件模型中,有三个参与者:event source:事件源,事件来源对象代理了事件的目标要处理的任务event object:事件对象,指状态改变的对象,它产生了事件. 事件对象

Git学习笔记(持续更新)

强制同步为远程的代码 远程仓库回退了commit的情况下(第2条描述之情况),强制同步远程的代码到本地 #更新远程最新的所有代码,但是不merge或者rebase git fetch --all #直接reset到master,也就把刚才fetch的更新了 git reset --hard origin/master 回退版本 #回退本地版本git reset --hard <commit_id>#强制提交到服务器 git push origin HEAD --force 新建分支和远程分支

android学习笔记 对话框合集

package com.zhangbz.dialog; import android.app.Activity; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.app.ProgressDialog; import android.content.DialogInterface; import android.content.DialogInterface.OnClick

编程学习笔记 随时更新

自己把在学习中得到的经验随时写下来. ---------------------------------- VC中表示基地加偏移数据 int * p; p = (int *)0x001897D4; p=(int *)(*p+0x8); p=(int *)(*p+0x4); -------------------------------------