有没有办法定义一个#include
在其体内包含指令的宏?
如果我只是把" #include",它给出了错误
C2162: "expected macro formal parameter"
Run Code Online (Sandbox Code Playgroud)
因为在这里我不是#用来连接字符串.
如果我使用" \# include",那么我收到以下两个错误:
error C2017: illegal escape sequence
error C2121: '#' : invalid character : possibly the result of a macro expansion
Run Code Online (Sandbox Code Playgroud)
有帮助吗?
我正在使用PyQt4编写GUI程序.我的主窗口中有一个按钮,单击此按钮.我希望启动一个后台进程,它是一个派生自processing.Process的类的实例.
class BackgroundTask(processing.Process):
def __init__(self, input):
processing.Process.__init__(self)
...
def run(self):
...
Run Code Online (Sandbox Code Playgroud)
(请注意,我使用的 是从http://code.google.com/p/python-multiprocessing/获取的python-multiprocessing的Python2.5端口, 这就是为什么它正在处理.Process而不是multiprocessing.Process.我猜这不应该有所作为.我是对的吗?)
连接到按钮点击信号的代码简直就是这样
processing.freezeSupport()
task = BackgroundTask(input)
task.start()
Run Code Online (Sandbox Code Playgroud)
该程序在python intepreter下按预期工作,即它是从命令行"python myapp.py"启动的.
但是,在我使用py2exe打包程序后,每次单击该按钮时,都会弹出主窗口的副本,而不是启动后台任务.我不确定这种行为的原因是什么.我想这与http://docs.python.org/library/multiprocessing.html#multiprocessing-programming中提到的以下注释有关.
"这个包中的功能要求主要方法可由子进程导入.这在编程指南中有所涉及,但值得指出这一点.这意味着一些例子,例如multiprocessing.Pool示例在交互式解释器中不起作用"
如果name ==" main ",我唯一拥有的地方就是在主模块中,就像典型的pyqt程序一样
if __name__ == "__main__":
a = QApplication(sys.argv)
QObject.connect(a,SIGNAL("lastWindowClosed()"),a,SLOT("quit()"))
w = MainWindow()
w.show()
a.exec_()
Run Code Online (Sandbox Code Playgroud)
有关如何解决此问题的任何解决方案?谢谢!
在Windows中,如何跟踪CreateFileMapping()创建的文件映射对象?基本上我想知道正在使用多少内存映射文件以及它们的名称,大小等信息.谢谢!
我正在使用PyQt4编写一个用于前端GUI的程序,该程序访问后端数据库(可以是MySQL或SQLite).我需要在数据库中存储一些图像数据,下面是我用来将图像文件(JPEG格式)导入数据库中的blob数据字段的Python代码:
def dump_image(imgfile):
i = open(imgfile, 'rb')
i.seek(0)
w = i.read()
i.close()
return cPickle.dumps(w,1)
blob = dump_image(imgfile)
hex_str = blob.encode('hex')
# x"%s"%hex_str will be the string inserted into the SQL command
Run Code Online (Sandbox Code Playgroud)
这部分工作正常.我的问题是如何从PyQt4中存储在数据库中的图像数据创建QPixmap对象.我目前的方法涉及以下步骤:
(1)数据库中的Hex str - cPickle&StringIO - > PIL图像对象
def load_image(s):
o = cPickle.loads(s)
c = StringIO.StringIO()
c.write(o)
c.seek(0)
im = Image.open(c)
return im
Run Code Online (Sandbox Code Playgroud)
(2)PIL图像对象 - >临时图像文件
(3)临时图像文件 - > QPixmap
这种方法也很好.但是如果我不必编写/读取临时图像文件会更好,这可能会减慢程序对用户交互的响应速度.我想我可以使用QPixmap :: loadFromData()从数据库中存储的blob数据直接加载,希望这里有人可以给我看一个如何使用这个函数的例子.
TIA,
兵