UI——pyqt 第一个代码

因为是现用现学型的知识,所以就先来个简单套路,想用啥再学:

 

Step1——搭框架:

 

  • 导入包
  • 创建一个应用,并且在最后结束消息循环
  • 创建一个UI类
    #为防止导入内容过大
    import sys
    from PyQt.QtCore import*
    from PyQt.QtGui import*
    from PyQt.QtWidgets import*
    
    #创建类 参数为窗口类型 完成初始化函数
    class UI(QTabWidget):
        def __init__(self,parent+None):
            super(QTabWidget,self).__init__(parent)
    
    #创建应用 显示窗口 结束消息循环
    if __name__=='__main__':
        app=QApplication(sys.argv)
        demo=UI()
        demo.show()
        sys.exit(app.exec_())

    Step2——在主窗口类里面添加内容:

  • 设置窗口名字
self.setWindowTitle("...")
  • 设置总体布局(需要一个QWidget来收容整体布局)
            #创建5个选项卡小控件窗口
            self.tab1=QWidget()
            self.tab2=QWidget()
            self.tab3=QWidget()
            self.tab4=QWidget()
            self.tab5=QWidget()
    
            #将五个选项卡添加到顶层窗口中
            self.addTab(self.tab1, "Tab 1")
            self.addTab(self.tab2, "Tab 2")
            self.addTab(self.tab3, "Tab 3")
            self.addTab(self.tab4, "Tab 4")
            self.addTab(self.tab5, "Tab 5")
    
            #每个选项卡自定义的内容
            self.tab1UI()
            self.tab2UI()
            self.tab3UI()
            self.tab4UI()
            self.tab5UI()

    比如我这里是选项卡主窗口(五个):

  • 设置局部布局(就是一层套一层)
      def tab5UI(self):
            #全局布局
            whole_layout=QVBoxLayout()
            
            ###局部布局
            #表单布局
            form_layout=QFormLayout()
            #水平布局
            h_layout=QHBoxLayout()
            
            #表单布局内容
            self.DT_le=QLineEdit();
            self.DT_ac_label=QLabel();
            self.DT_ti_label=QLabel();
            form_layout.addRow('请输入实验次数:',self.DT_le)
            form_layout.addRow('平均准确率:',self.DT_ac_label)
            form_layout.addRow('平均花费时间:',self.DT_ti_label)
            
            #水平布局内容
            self.DT_btn=QPushButton(self)
            self.DT_btn.setText("开始训练")
            self.DT_btn.clicked.connect(self.compute5)
            h_layout.addWidget(self.DT_btn)
            
            #准备部件装小布局
            form=QWidget()
            h=QWidget()
            
            form.setLayout(form_layout)
            h.setLayout(h_layout)
            
            #设置整体布局
            whole_layout.addWidget(form)
            whole_layout.addWidget(h)
            
            #设置选项卡的小标题与布局方式
            self.setTabText(4,'DT')
            self.tab5.setLayout(whole_layout)

    看上图就可以知道这些代码

  • 添加事件(这里要添加对self的理解,它是对于主窗口来说的)
            #在布局里面的代码
            self.DT_btn=QPushButton(self)
            self.DT_btn.setText("开始训练")
            self.DT_btn.clicked.connect(self.compute5)  #就是它
            h_layout.addWidget(self.DT_btn)
    
    
         #类里面的响应函数
         def compute5(self):
            ac_sum=0;
            ti_sum=0;
            times=self.DT_le.text()
            if times=='':
                times='0'
            for i in range(int(times)):
                ac,ti= DT_MNIST.main()
                ac_sum+=ac
                ti_sum+=ti
            ac=ac_sum/int(times)
            ti=ti_sum/int(times)
            
            self.DT_ac_label.setText(str(ac))
            self.DT_ti_label.setText(str(ti))

     

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值