下面的程序显示了一个简单的小窗口。

#!/usr/bin/python
# -*- coding:utf-8 -*- import sys
from PyQt4 import QtGui
app = QtGui.QApplication(sys.argv)
widget = QtGui.QWidget()
widget.resize(250, 150)
widget.setWindowTitle('moonlight poet')
widget.show()
sys.exit(app.exec_())

效果:

import sys
from PyQt4 import QtGui

这两句话用来在入必要的模块。基本的Gui窗口部件在Qtui模块中。

app = QtGui.QApplication(sys.argv)

每一个Pyt4程序都需要有一个application对象,application类包含在QtGui模块中。sys.argc是一个命令行参数列表。Python脚本可以从shell中执行,参数可以让我们选择启动脚本的方式。

widget = QtGui.QWidget()

QWidget部件是Pyt4中所有用户界面类的父类。这里我们使用没有参数的默认构造函数,他没有继承其它类。我们称没有父类的widget为一个window。

widget.resize(250, 150)

resize()方法可以改变窗口部件的大小,在这里我们将其设成250像素宽,150像素高。

widget.setWindowTitle('moonlight poet')

这句用来设置窗口部件的标题,该标题将在显示栏中显示。

widget.show()

show()方法将窗口部件显示在屏幕上。

sys.exit(app.exec_())

最后我们进入程序的主循环。事件处理从本行语句开始。主循环接受时间消息并将其分发给程序的各个部件。如果调用exit()或主部件被销毁,主循环就会结束。使用sys.exit()方法退出可以确保程序可以完整的结束,这种情况下系统的环境变量会记录程序是如何退出的。

exec_()方法有一个下划线的原因是exec是Python的关键字,为了避免冲突,PyQt使用exec_()替代。

PyQt4简单的窗口程序的更多相关文章

  1. [MFC]_在vs2019中使用MFC快速构建简单windows窗口程序

    微软基础类库(英语: Classes,简称MFC)是微软公司提供的一个类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发 ...

  2. win32汇编简单实现窗口程序

    .386 .model flat,stdcall option casemap:none ;========================== ;include部分 include windows. ...

  3. delphi写的整合汇编与api的简单的窗口程序

    program Project1; { Types and Structures Definition }type  WNDCLASSEX = packed record    cbSize: Lon ...

  4. Win32汇编学习(3):简单的窗口

    这次我们将写一个 Windows 程序,它会在桌面显示一个标准的窗口,以此根据代码来学习如何创建一个简单的窗口. 理论: Windows 程序中,在写图形用户界面时需要调用大量的标准 Windows ...

  5. Win32编程API 基础篇 -- 2.一个简单的窗口 根据英文教程翻译

    一个简单的窗口 例子:简单的窗口 有时人们在IRC提问,”我应该怎样制作一个窗口”...嗯,这恐怕不是完全这么简单好回答!其实这并不难一旦你明白你在做什么,但在你得到一个可展示的窗口之前还有一些事情需 ...

  6. Windows程序设计笔记(二) 关于编写简单窗口程序中的几点疑惑

    在编写窗口程序时主要是5个步骤,创建窗口类.注册窗口类.创建窗口.显示窗口.消息环的编写.对于这5个步骤为何要这样写,当初我不是太理解,学习到现在有些问题我基本上已经找到了答案,同时对于Windows ...

  7. 编写一个简单的C++程序

    编写一个简单的C++程序 每个C++程序都包含一个或多个函数(function),其中一个必须命名为main.操作系统通过调用main来运行C++程序.下面是一个非常简单的main函数,它什么也不干, ...

  8. C#编写简单的聊天程序

    这是一篇基于Socket进行网络编程的入门文章,我对于网络编程的学习并不够深入,这篇文章是对于自己知识的一个巩固,同时希望能为初学的朋友提供一点参考.文章大体分为四个部分:程序的分析与设计.C#网络编 ...

  9. 简单的聊天程序,主要用到的是Socket

    服务端: import java.io.*; import java.net.*; import java.util.*; public class ChatServer { boolean stat ...

随机推荐

  1. linux 将终端进行换行

    原始 修改 修改方法 vim .bashrc fi if [ "$color_prompt" = yes ]; then PS1='${debian_chroot:+($debia ...

  2. 【Python】【Flask】Flask 后台发送html页面多种方法

    1.使用模板: @app.route('/') def home(): return render_template("homepage.html")#homepage.html在 ...

  3. Eclipse JUnit简单示例

    在本节中,我们将看到一个简单的JUnit例子. 先创建一个工程,名称为:CalculateTest,并在这个工程上点击右键,选择:Build Path -> Add Library -> ...

  4. C# js 在页面能执行,放在单独js文件不能执行

    我们先来看看MVC中生成的 注意:url.Content 生成的路径 Html.ActionLink 与 Url.Action 1.两者者是根据给定的Controller,Action 生成链接, 但 ...

  5. c# 递归函数使用案例

    /// <summary> /// 递归查询 /// </summary> /// <param name="groupID"></par ...

  6. Aspose.Words对于Word的操作

    对于word操作一般是对已有word模板的操作,直接新建的不考虑,网上教程很多,自己看吧一般有以下几种办法(忘了具体几种了,一般情况下以下就够了)1.通过书签替换顾名思义,就是先定义一个书签,然后在书 ...

  7. js jquery 按钮点击后 60秒之后才能点击 60秒倒计时

    var wait = 60; function time(o) { if (wait == 0) { $(o).attr("disabled", false); $(o).val( ...

  8. WebSphere异常:Servlet has become temporarily unavailable for service

    今天发现WebSphere中的一个应用图片看不见了,单独在浏览器中访问图片的路径http://ip地址:9080/应用/--/images/top.jpg,也不显示图片,并且提示异常Servlet h ...

  9. 【Php】数组遍历,foreach, each, trim()

    <?php $iplist = "122.224.251.154|192.168.2.138|192.168.2.12"; echo $_SERVER['REMOTE_ADD ...

  10. Objective-C 语法之 NSURL

    有时我们需要获取请求地址的相关信息,这时我们就可以用 NSURL 的一些方法操作来获取它. 需要注意的一点是:请求地址里可能存在特殊字符或中文,为了正确获取信息,建议使用 stringByAdding ...