pyqt吧 关注:417贴子:609
  • 4回复贴,共1

pyqt5的几个问题,我不知道是不是pyqt5的bug,期待有人解答

只看楼主收藏回复

1. 我使用QSignalMap进行信号关联时,发现信号激活不了,代码如下:
signal_map = QSignalMapper()
menu = QMenu()
action = QAction("aaa")
signal_map.setMapping(action, "aaa")
action.triggered.connect(signal_map.map)
menu.addAction(action)
signal_map.mapped.connect(lambda x: print(x)) #这个槽没有反应
menu.exec_(QCursor.pos())
2. 自定义了一个ui界面,上面有一个button明明为save。
参考Qt. C++版本的在类中实现了一个函数on_save_clicked。发现确实会自动连接此槽,
但是缺激活了两次。
代码如下:
def on_save_clicked(self):
print("3333") //当我点击save按钮是,打印了两次3333
希望有大神解答一下。


1楼2017-12-12 11:07回复
    3. 文件读写流
    file = QFile("abc.txt")
    file.open(QIODevice.WriteOnly)
    stream = QDataStream(file)
    stream.writeString("123")
    file.close()
    报错如下:
    stream.writeString("123")
    TypeError: writeString(self, str): argument 1 has unexpected type 'str'


    2楼2017-12-12 13:59
    回复
      楼主找到答案了吗


      IP属地:黑龙江3楼2020-03-26 14:45
      回复
        我用qpainter画圆盘 画扇形, 在某些角度无法显示。难道42 这个数字在编程中有什么特殊的含义吗。。。


        4楼2020-07-15 11:35
        回复
          因为该clicked信号是重载信号,带两种信号,一种是带参数,bool,一种是不带参数,你需要用@pyqtSlot()来声明你要接受的是带参的信号,还是不带参,如果不声明就是同时接受两种信号,所以关联的槽函数会触发两次


          IP属地:福建来自Android客户端5楼2022-12-24 20:41
          回复