zoukankan      html  css  js  c++  java
  • 第一个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函数进行转换。

    水平有限,以待后面补充加改


  • 相关阅读:
    cf B. Vasily the Bear and Fly
    hdu 3339 In Action
    hdu 六度分离
    cf A. Vasily the Bear and Triangle
    cf C. Secrets
    2.19学习笔记|2.20学习笔记
    VAE代码学习
    2.9日学习记录
    deconvolution反卷积(待学习)
    gamma分布学习
  • 原文地址:https://www.cnblogs.com/ft-Pavilion/p/7846838.html
Copyright © 2011-2022 走看看