【个人】项目实训 | signal功能与部分问题解决


前言

这段时间项目实训的主要工作:解决了一些遇到的问题,并为基于神经网络进行图片风格迁移的功能做了部分优化。


一. 所遇问题及解决方法

1. 找不到自定义的module

当自己建立了一些文件夹,并在其中添加了_init_.py文件时,有时会出现如下报错。

在这里插入图片描述

当想要通过from xx import xxxx 时,可能出现找不到 xx 的情况。
首先尝试修改configuration。

在这里插入图片描述

若该方法不起作用,建议新建一个project并将原本的全部文件夹及文件拷贝到新的project当中,以解决找不到module的报错。

2. exit with 0 但是没有窗口弹出

代码本身没有报错,但是没有编写的UI出现。
建议检查configuration,看运行的文件是否为 main 文件。


二. signal 功能用于 set training epoch

1. 定义新的label与slider

代码如下:

    #创建一个另学习轮数变化的label和slider
    instance.part3_slider_value = QLabel(instance.widget_neural_style_transfer)
    instance.part3_slider_value.setGeometry(30,120,200,100)
    instance.part3_slider_value.setText("风格迁移度")

    instance.slider_part3 = QSlider(Qt.Horizontal, instance.widget_neural_style_transfer)
    instance.slider_part3.setGeometry(30, 200, 100, 30)
    instance.slider_part3.sliderReleased.connect(instance.signal_slider_set_epoch)

    # 为滑动条设置最小最大值,初始值等属性
    instance.slider_part3.setMinimum(5)
    instance.slider_part3.setMaximum(100)
    instance.slider_part3.setSingleStep(5)
    instance.slider_part3.setValue(50)

2. 定义信号signal

注意:signal必须定义在函数外面,把它当成一个类成员变量,在函数内引用时加slef.xx

代码如下:

signal_part3_slider = pyqtSignal('PyQt_PyObject',int)

3. 定义信号被发射后的执行函数

新建 py 文件,在文件中定义执行函数
代码如下:

def part3_epoch(instance,value):
    instance.part3_slider_value.setText("风格迁移度:" + str(value))
    instance.part3_epoch = value

4. 定义信号发射函数

代码如下:

    #slider设置训练轮数
    def signal_slider_set_epoch(self):
        part3_tem_value = self.sender().value()
        self.signal_part3_slider.emit(self,part3_tem_value)

5. 将信号和执行函数连接

代码如下:

    #将slider信号与函数进行连接
    instance.signal_part3_slider.connect(define_epoch.part3_epoch)

6. 当事件被触发时执行信号发射函数

代码如下:

    instance.slider_part3.sliderReleased.connect(instance.signal_slider_set_epoch)

三. 仍存在的问题

完成以上内容之后,界面中可出现 label 与 slider,并且滑动之后,label 的 text 也会变化。

在这里插入图片描述

在这里插入图片描述

但是选择图片之后会发生如下报错:

Process finished with exit code -1073740791 (0xC0000409)

解决方法仍在尝试中。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值