小编Eli*_*sky的帖子

PyQt在连接信号时将参数发送到插槽

我有一个任务栏菜单,单击时连接到获取触发事件的插槽.现在问题是我想知道单击了哪个菜单项,但我不知道如何将该信息发送到连接的功能.这是用于将动作连接到函数:

QtCore.QObject.connect(menuAction, 'triggered()', menuClickedFunc)
Run Code Online (Sandbox Code Playgroud)

我知道有些事件返回一个值,但是trigger()没有.那么我该如何实现呢?我必须自己制作信号吗?

python qt4 pyqt

28
推荐指数
3
解决办法
3万
查看次数

推荐的Python发布/订阅/发送模块?

来自PyPubSub:

Pypubsub为您的Python应用程序提供了一种简单的方法来解耦其组件:应用程序的某些部分可以发布消息(有或没有数据),其他部分可以订阅/接收它们.这允许消息"发件人"和消息"听众"彼此不知道:

  • 一个不需要导入另一个
  • 发件人不需要知道
    • "谁"得到消息,
    • 听众会对数据做些什么,
    • 或者即使任何听众都会收到消息数据.
  • 同样,听众也不必担心消息的来源.

这是实现模型 - 视图 - 控制器架构或促进其组件解耦的任何类似架构的绝佳工具.

似乎有相当多的Python模块用于在Web上发布/订阅,从PyPubSub到PyDispatcher,再到简单的"自制"类.

比较不同的模块时是否有特定的优点和缺点?哪些模块已经过基准测试和比较?

提前致谢

python publish-subscribe pypubsub

25
推荐指数
1
解决办法
2万
查看次数

Python对象属性 - 访问方法

假设我有一个具有某些属性的类.访问这些属性最好(在Pythonic-OOP中)意义如何?就像obj.attr?或者也许写get accessors?这些东西的接受命名风格是什么?

编辑: 您能详细说明使用单个或双前导下划线命名属性的最佳实践吗?我在大多数模块中看到使用单个下划线.


如果这个问题已经被提出(我有预感,虽然搜索没有带来结果),请指出它 - 我将关闭这个.

python oop attributes object

23
推荐指数
3
解决办法
3万
查看次数

关于C++中虚函数的访谈问题

我被问到这个疯狂的问题.我失去了智慧.

可以使用指向派生类对象的基类指针调用声明为virtual的基类中的方法吗?

这可能吗?

c++ virtual

20
推荐指数
5
解决办法
9194
查看次数

与boost :: asio一起使用的std :: string的替代方法

boost::asio的各种readwrite函数和方法接受boost::asio::buffer.根据buffer的文档,std::string不能包含mutable boost::asio::buffer,因此不能用于asio的read函数.这可能是由于这样的事实,std::string不允许其内部缓冲区可变访问(这是以前讨论这里).

这是一种耻辱,因为它std::string是在C++中表示可变数据缓冲区的便捷方式.没有它,我们要么留下POD阵列,boost::arraystd::vector<char>.前两个对于可变长度消息不方便.std::vector<char>可以工作,但这是一种不自然的方式携带数据缓冲区(*)

问题:

  1. 是否还有其他选择std::stringboost::asio读取缓冲区?我在这里错过了什么吗?
  2. 我不知道为什么std::vector<char> 在一个可变的缓冲支持.是因为它保证其内部缓冲区在内存中是连续的,并且允许对它进行可变访问&vec[0]吗?

提前致谢


(*) 恕我直言.protobuf例如,查看序列化 - 它提供序列化,std::string但不提供std::vector<char>,至少不明确.


编辑:vector<char>毕竟我最终使用了.protobuf允许vector<char>通过SerializeToArray带有指针的调用(&vec[0]可以在那里传递)进行序列化.

c++ boost-asio

19
推荐指数
2
解决办法
6111
查看次数

跟踪其他本地分支机构的本地分支机构有哪些用例?

在Git中我们可以这样做:

$ git checkout -b testbranch --track master
Branch testbranch set up to track local branch master.
Switched to a new branch 'testbranch'
Run Code Online (Sandbox Code Playgroud)

这些分支的用例是什么?

git version-control

18
推荐指数
1
解决办法
1196
查看次数

Emscripten - 支持纯html5画布的C++(不是WebGL)

使用emscripten时,有没有办法在C++下访问canvas 2D上下文?
我希望能够得出使用帆布的API功能,如简单的形状/路径lineTo,fillRect1D完成,等等.(所以基本上使用任何列出的功能在这里.

我将指出我宁愿不依赖SDL,但如果它是唯一可靠的方法,那么是否有办法强制它编译为JavaScript以便结果不会使用WebGL,而是基本的canvas api?

或者我应该按照这个建议做一个简单的api函数映射:从C/C++调用JavaScript

在任何人分享更好的解决方案之前,我很可能会完成映射并在我完成后立即在此处共享.

javascript c++ canvas emscripten

18
推荐指数
1
解决办法
6471
查看次数

使用cscope通过VIM浏览Python代码?

有没有人成功使用cscopePython代码?我有VIM 7.2和最新版本的cscope安装,但它没有正确获取我的代码标签(总是关闭几行).我尝试了pycscope脚本,但现代版本不支持它的输出cscope.

有任何想法吗?或者用VIM浏览Python代码的替代方案?(我特别感兴趣的是cscope超出简单标签的额外功能ctags)

python vim editor cscope

17
推荐指数
3
解决办法
2万
查看次数

在Python中解释关键字参数(VarArgs)

请参阅以下代码: -

#!/usr/bin/python
# Filename: total.py

def total(initial=5, *numbers, **keywords):
    count = initial
    for number in numbers:
        count += number
    for key in keywords:
        count += keywords[key]
    return count

print(total(10, 1, 2, 3, vegetables=50, fruits=100))
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下*数字和**关键字如何获取参数?很简单的解释非常感谢提前感谢

python variadic-functions

17
推荐指数
1
解决办法
1万
查看次数

Pygame在图形方面可以做什么wxPython不能?

我想用Python开发一个非常简单的2D游戏.Pygame是Python中最受欢迎的游戏开发库,但我已经非常熟悉wxPython并且使用起来很舒服.我甚至在其中写了一个俄罗斯方块克隆,它非常流畅.

我想知道,Pygame在图形方面提供了什么(暂时放弃声音)wxPython不能做什么?在Pygame中制作图形比在wxPython中更简单/更快吗?它是否更加跨平台?

看起来我在这里遗漏了一些东西,但我不知道是什么.

python graphics pygame wxpython

16
推荐指数
2
解决办法
5747
查看次数