zoukankan      html  css  js  c++  java
  • PyQt界面

    打开designer在界面上放置了一些控件,保存界面为mainUi.ui,将mainwin.ui转换为Ui_mainwin.py

    pyuic5 -o  mainwin.ui  ui_mainwin.py

    ui_mainwin.py代码都是自动生成的,大家可以不需要动。

    在生成的文件中有一个Ui_MainWindow类

    新的py文件main.py,代码如下:

    import sys
    from PyQt5.QtWidgets import QApplication,QMainWindow,QFileDialog
    import ui_mainwin


    class MainCode(QMainWindow,ui_mainwin.Ui_MainWindow):
    def __init__(self):
    QMainWindow.__init__(self)
    mainUi.Ui_MainWindow.__init__(self)
    self.setupUi(self)
    self.btn_save.clicked.connect(self.on_save)
    self.btn_open.clicked.connect(self.on_open)

    def on_save(self):
    FullFileName,_=QFileDialog.getSaveFileName (self, '文件另存为', r'./','TXT (*.txt)')
    set_text=self.txt_view.toPlainText()
    with open(FullFileName,'wt') as f:
    print(set_text, file = f)

    def on_open(self):
    txtstr=""
    FullFileName, _ = QFileDialog.getOpenFileName(self, '打开', r'./', 'TXT (*.txt)')
    with open(FullFileName, 'rt') as f:
    lines=f.readlines()
    for line in lines:
    txtstr=txtstr+line
    self.txt_view.setText(txtstr)


    if __name__=='__main__':
    app=QApplication(sys.argv)
    md=MainCode()
    md.show()
    sys.exit(app.exec_())


     MainCode类又提供了一个容器,这个类继承自QMainWindow,mainUi.Ui_MainWindow,在这个类的构造函数中运行类父类的构造函数,并且把它自己作为参数产地给setupUi,并且添加了信号&槽信息

     self.btn_save.clicked.connect(self.on_save)

    self.btn_open.clicked.connect(self.on_open)

    这两个语句使得信号与槽函数进行手工绑定

  • 相关阅读:
    蓝桥杯真题(1)
    蓝桥杯------历届真题
    第三届蓝桥杯 c/c++真题
    数据库三大范式个人理解,书上讲的太抽象
    c#线程池ThreadPool实例详解
    c#多线程thread实例详解
    C#中异步使用及回调
    c# 多线程的几种方式
    C#中委托的同步和异步有什么区别
    C#设计模式——单例模式的实现
  • 原文地址:https://www.cnblogs.com/bongem/p/11768479.html
Copyright © 2011-2022 走看看