第一个Python窗体程序
新建ui_MainWindow.py文件
# encoding: UTF-8
# Qt相关和十字光标 from PyQt4.QtGui import *
from PyQt4.QtCore import *
from PyQt4 import QtGui,QtCore
######################################################################## class ui_MainWindow( QtGui.QMainWindow):
# ----------------------------------------------------------------------
# 俩个构造函数
def __init__(self, parent=None):
QtGui.QMainWindow.__init__(self)# 创建主界面对象
self.setWindowTitle(u'爱宽客') #错误代码self.setWindowTitle('爱宽客'),会造成中文乱码 self.resize(250,150) if __name__ == "__main__":
import sys
app = QApplication(sys.argv)
main = ui_MainWindow()#创建一个主窗体(必须要有一个主窗体) main.show()#主窗体显示
app.exec_()
PyQT中__init__(self,parent==None)的parent含义
在PyQt中,所以class都是从QObject派生而来,QWidget对象就可以有一个parent。这种parent-child关
系主要用于两个方面:
没有parent的QWidget类被认为是最上层的窗体(通常是MainWindow),由于MainWindow的一些操作生成
的新窗体对象,parent都应该指向MainWindow。
由于parent-child关系的存在,它保证了child窗体在主窗体被回收之时也被回收。
parent作为构造函数的最后一个参数被传入,但通常情况下不必显示去指定parent对象。因为当调用局
管理器时,部局管理器会自动处理这种parent-child关系。但是在一些特殊的情况下,我们必须显示的
指定parent-child关系。如当生成的子类不是QWidget对象但继承了QObject对象,用作dock widgets的
QWidget对象。
问题:
1: app = QApplication(sys.argv)//必须传入参数
初始化窗口系统并且使用在argv中的argc个命令行参数构造一个应用程序对象。参考http://www.kuqin.com/qtdocument/qapplication.html#QApplication 2:PyQt4中的中文显示问题
解决方法:a:中文加 u
b: QTextCodec.setCodecForTr(QTextCodec.codecForName("utf8"))
c:
# 重载sys模块,设置默认字符串编码方式为utf8
import sys
reload(sys)
sys.setdefaultencoding('utf8')
或者显式的使用unicode函数进行转换。
水平有限,以待后面补充加改
第一个Python窗体程序的更多相关文章
- 使用PyQt来编写第一个Python GUI程序
原文:使用PyQt来编写第一个Python GUI程序 本文由 伯乐在线 - Lane 翻译,Daetalus 校稿.未经许可,禁止转载!英文出处:pythonforengineers.com.欢迎加 ...
- Day1:第一个python小程序
Day1:第一个python小程序与开发工具Pycharm 一.Hello World C:\Users\wenxh>python Python 3.6.2 (v3.6.2:5fd33b5, J ...
- Pycharm+Django搭建第一个Python Web程序
1.安装django 无论是Python2.x还是Python3.x版本,都可以使用pip来安装Django.在控制台使用如下命令:pip install django 如: 2.检查dgango是否 ...
- 写一个python小程序
在windows环境下进行操作 window+R 输入cmd 创建一个文件夹 mkdir pytxt 创建一个py文件 py.py 用notepad或者记事本等工具进行编辑 或 首先声明pytho ...
- [转载]使用PyQt来编写第一个Python GUI程序
转载自:http://python.jobbole.com/81276/ 英文版出处:http://pythonforengineers.com/your-first-gui-app-with-pyt ...
- 发布一个Python小程序:ManHourCalendar
程序诞生的那些事儿 先聊聊背景资料档案.. 大约两年前,我只身前往岛国赚点外快.在那边的派遣制度工作中,存在一个大约叫每月的标准工作时间的概念,按照自家公司跟派遣目标公司(业界称为现场)的合同,规定了 ...
- 【转】我的第一个Python小程序
原文网址:http://blog.csdn.net/randyqiu/article/details/4484089 人的每个第一次都有点特别的意义,所以下面这个小程序我把他记录下来做个纪念. 因为要 ...
- 入门 第一个python可视化程序 基于pyqt5
不得不说 py的GUI实在是太难上手了 我现在突然很怀念MFC VB c#这些东西了 因为控件的代码你只要一点就能进入查看 而pyqt5 pyside2 都不可以 你要看就看全部的代码 你要改你也只能 ...
- 第一个python爬虫程序
1.安装Python环境 官网https://www.python.org/下载与操作系统匹配的安装程序,安装并配置环境变量 2.IntelliJ Idea安装Python插件 我用的idea,在工具 ...
随机推荐
- Linux wildcard
Linux中的通配符: 需要注意的是正则表达式与通配符完全是两个东西.wildcard代表的是bash操作接口的一个功能,而正则表达式是一种字符串处理的方法. 例如,'?',在通配符中表示一个字符,在 ...
- Luogu 1042 - 乒乓球 - [简单模拟]
题目链接:https://www.luogu.org/problemnew/show/P1042 题目背景国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及.其中 ...
- vue里面的v-for列表循环
列表渲染 v-for v-for可以把数据中的一个数组对应为一组元素v-for 指令需要以 item in items 形式的特殊语法, items 是源数据数组并且 item 是数组元素迭代的别名. ...
- Redis实战经验及使用场景
随着应用对高性能需求的增加,NoSQL逐渐在各大名企的系统架构中生根发芽.这里我们将为大家分享社交巨头新浪微博.传媒巨头Viacom及图片分享领域佼佼者Pinterest带来的Redis实践,首先我们 ...
- 执行git add .命令时报warning: LF will be replaced by CRLF in yarn.lock.
解决办法是执行:git config --global core.autocrlf false 是符号 / 转义的问题
- ASP.NET C# 如何在程序中控制IIS服务或应用程序池重启?
停止IIS服务ServiceController sc = new ServiceController("iisadmin");if(sc.Status==ServiceContr ...
- 2.1 Html
一.Head中常用标签 <head>元素出现在文档的开头部分,会书写一些和浏览器中的配置信息. <head>与</head>之间的内容不会在浏览器的文档窗口显示,但 ...
- Cocos2d-js3.3 模态对话框的实现
首先,先了解一下什么是模态对话框,百度百科的给出了下面一个定义: 模态对话框(Modal Dialogue Box,又叫做模式对话框),是指在用户想要对对话框以外的应用程序进行操作时,必须首先对该对话 ...
- Spring框架的第三天
## Spring框架的第三天 ## ---------- **课程回顾:Spring框架第二天** 1. IOC的注解方式 * @Value * @Resource(name="" ...
- dfs进阶
当自己以为自己深搜(其实就是暴力啦)小成的时候,发现没有题目的积累还是很难写出程序,自己真的是太年轻了:总结一下就是做此类题看是否需要使用vis数组优化以及继续搜索的条件或者满足答案的条件.以下为2题 ...