pyqt笔记<一>

一直寻找一种在winds下的进行图像界面编程的简便方法,虽然java是我的母语,但是java的swing一套东西太难用了,做出来也很难看。后来寻找到了c#,但发现用vs开发出来的太过庞大,非常不方便,不适合写一些小程序。

后来发现了python-gui编程,发现真的很简单,而且很漂亮。在用了几天Tkinter之后发现功能很有限,布局就pack,grid,place,个人感觉有点像Android里面的相对布局,网格布局,绝对布局,功能十分有限。于是后面经过对比,选择了PyQt。

PyQt是一个创建GUI应用程序的工具包。它是python编程语言和Qt库的成功融合。Qt库是目前最强大的库之一。PyQt实现了一个Python模块集。它有超过300类,将近6000个函数和方法。

我用的python2.7,百度网盘下载地址:http://pan.baidu.com/s/1bnzWIZX

对应的Pyqt4.9.4-x86-32位的: http://pan.baidu.com/s/1mgyY0Mc  ( 另外发现如果你电脑是64位的,安装64位的qt,会运行不起来,提示:1% 不是有效的win32应用程序)

先安装python,在安装pyqt

显示一个如图的窗口需要以下代码

# encoding:utf-8
import sys
from PyQt4 import  QtGui

app = QtGui.QApplication(sys.argv)  #每一个QT4程序都要一个application对象
widget = QtGui.QWidget()  #QWidget是QT4中所有用户界面的父类
widget.resize(320, 480)   #窗口大小
widget.setWindowTitle(u"测试程序")  #如果没有u,中文会乱码
widget.show()
sys.exit(app.exec_())   #进入程序主循环,所有的事件从这里开始

代码详细解释:http://wenku.baidu.com/link?url=VIETC-LyWN4BO441MIsEmuwsU89vaiLURkf5mQyxFLC7o4xZ2nhZDKM-YH1hehszIzEThd3Pfd36FW2W7bN0Rb9COkmsTZ6np0y2jMjhtJC

时间: 2024-11-06 22:17:31

pyqt笔记<一>的相关文章

PyQt挖地雷游戏学习笔记(2)

分析多个文件组成的源代码,最好使用辅助工具. 我试过Source Navigator 和 Source Insight,感觉后者功能多些,比较好用. 一.程序的组成模块等文件 这个挖地雷游戏,主要由2种文件组成: 1.程序模块 主程序main.py:负责主窗口物件,按钮和菜单的设置.事件处理.程序初始化.结束等等. 游戏逻辑模块game_scene.py:负责游戏规则.棋盘显示.胜负裁判.记录得分等等. "导入"文件lib.py:导入一些通用的模块,其他文件只需导入lib.py. 游戏

pyqt 学习基础5 - 笔记软件的编辑器

笔记软件的编辑器 几个疑问 今天在试着为笔记软件写个编辑器,然后参考qt自带的textedit的示例.下面是一个撤销操作的一段代码,我就疑惑了,这跟用QPushButton应该差不多吧. self.actionUndo = QtGui.QAction( QtGui.QIcon.fromTheme('edit-undo', QtGui.QIcon(rsrcPath + '/editundo.png')), "&Undo", self, shortcut=QtGui.QKeySeq

pyqt 学习基础 实践2 基于oschina笔记软件的初步界面

笔记软件主界面 这东西大概介绍 我想做一个基于oschina的跨平台的笔记软件(做得好就分享给大家,做的不好就自己收藏-.,oschina openapi方面已经熟悉了一下,但是Qt还不是很熟悉,因为还是学习中-),下面讲我在用其他的笔记软件常常遇到以下几个问题: 不跨平台,因为很多像我这种伪程序猿都会在window和linux或者mac之间切换,像onenote就只能在windows上运行, 还有印象笔记的linux客户端也不甚理想.不过近期发现的为知笔记的确是个不错的选择 作为一个笔记软件,

PyQt挖地雷游戏学习笔记(1)

想学会PyQt.按习惯做法,从分析学习编程实例着手. 从网上找了个"挖地雷"的源码,大卸八块,仔细解剖,力图学到些东西. 原程序中有bug,如:"棋盘"没有下边界线:挖出全部地雷后,程序没反应,不认定获胜. 我已将其铲掉,可以正常运行了. 程序源码可在此下载 所做修改,都在game_scene.py.共有2处: 一是在函数checkWin()中,原文是: if ((self.mine_map == self.flag_map).all() and (self.min

PyQt 学习笔记1——自定义窗口框架

自定义一个属于自己的窗口,初始化时自动设置好在屏幕中央显示,重写退出事件的触发器 closeEvent(),并增加了设置图标,简化设置标题的函数名,其它类可以继承它: 1 # -*- coding: utf-8 -*- 2 3 import time 4 import sys 5 from PyQt4 import QtGui, QtCore 6 7 8 class MyQwidget(QtGui.QWidget): 9 10 def __init__(self, title=None, ico

PyQt挖地雷游戏学习笔记(4)

又遇到一个有意思的问题,它提醒了查阅文档和相关源码,与测试的重要性. 直接上代码,setup.py """ module: setup """ from lib import * from config import * form, base = loadUiType("setup.ui") class SetupDlg(QDialog, form): def __init__(self): super(SetupDlg, s

PyQt挖地雷游戏学习笔记(3)

这个程序使用了Python有特色的语法套路.先看第一个. main.py里的class MainWindow的函数init()中,有这样的语句: self.scene.setMap((conf.w, conf.h), conf.mines) 这里的变量conf,定义在config.py中,由以下语句引入的: from config import * 这里的conf.w和conf.h是什么呢?由此,转入config.py,一探究竟. #module: config import json DEFA

PyQt挖地雷游戏学习笔记(7)

1.游戏规则 地雷随机埋设在"棋盘"方格里,挖到地雷为败,挖光全部无雷方格为胜. 2.游戏的空间表示 游戏发生在棋盘上,游戏的场景.规则,都体现在棋盘上. 棋盘,由"场景盘"和"逻辑盘"共同组成. "场景盘"是玩家挖雷面对的棋盘. "逻辑盘"是实现游戏规则所需的"雷区盘"."空区盘"和"提示盘". "逻辑盘"由数组表示. 棋盘.

PyQt挖地雷游戏学习笔记(6)

学习别人的作品,有一大好处,可以反观自己的不足. 自己的不足,往往是基础知识有欠缺,基本功不扎实. 今天,再补一课:星号表达式(*expression). 挖地雷程序中,有2处用到星号表达式.一是在main.py,另一处在game_scene.py. 先看第一处的情况: @pyqtSlot() def on_action_Setup_triggered(self): result = setup.getSetup() if not result: return self.scene.setMap