第一个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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现