小编Mat*_*nti的帖子

可移动的窗口与pyqt4

只是一个简单的问题:我正在使用pyqt4来渲染一个简单的窗口.这是代码,我发布了整个事情,因此更容易解释.

from PyQt4 import QtGui, QtCore, Qt
import time
import math

class FenixGui(QtGui.QWidget):

    def __init__(self):
            super(FenixGui, self).__init__()

        # setting layout type
        hboxlayout = QtGui.QHBoxLayout(self)
        self.setLayout(hboxlayout)

        # hiding title bar
        self.setWindowFlags(QtCore.Qt.FramelessWindowHint)

        # setting window size and position
        self.setGeometry(200, 200, 862, 560)
        self.setAttribute(Qt.Qt.WA_TranslucentBackground)
        self.setAutoFillBackground(False)

                # creating background window label
        backgroundpixmap = QtGui.QPixmap("fenixbackground.png")
        self.background = QtGui.QLabel(self)
        self.background.setPixmap(backgroundpixmap)
        self.background.setGeometry(0, 0, 862, 560)


        # fenix logo
        logopixmap = QtGui.QPixmap("fenixlogo.png")
        self.logo = QtGui.QLabel(self)
        self.logo.setPixmap(logopixmap)
        self.logo.setGeometry(100, 100, 400, 150)

def main():

    app = QtGui.QApplication([])
    exm = FenixGui() …
Run Code Online (Sandbox Code Playgroud)

python pyqt draggable pyqt4 drag

3
推荐指数
1
解决办法
3478
查看次数

gmpxx.h:没有这样的文件或目录

我刚刚从Sourceforge 的官方项目页面安装了一个全新的mingw(32位)副本.我在包中安装了所有内容,所有编译器等等.然后我从这里下载gmp for MinGW.我将gmp-5.0.1-1-mingw32-src.tar.lzma提取到我的mingw文件夹中,然后./pkgbuild从那里运行.它继续运行几分钟,然后打印出类似的东西COMPLETED EVERYTHING OK, EVERYTHING PASS.

然后我写下这个简单的例子,检查它是否会起作用:

#include <gmpxx.h>

int main (void)
{
  mpz_class a, b, c;

  a = 1234;
  b = "-5678";
  c = a+b;
  cout << "sum is " << c << "\n";
  cout << "absolute value is " << abs(c) << "\n";

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

然后使用编译它g++ mycxxprog.cc -lgmpxx -lgmp.我得到的唯一答案是:

Fatal error: gmpxx.h: No such file or directory.
Run Code Online (Sandbox Code Playgroud)

有人有任何暗示吗?我真的不知道该怎么办......

c++ mingw gmp mingw32

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

CUDA:将相同的内存位置流式传输到所有线程

这是我的问题:我有很多双打(一组77.500个双打)存储在cuda中。现在,我需要大量线程来对该数组进行一系列操作。每个线程将必须读取该数组的SAME元素,执行任务,将结果存储在共享内存中以及读取该数组的下一个元素。请注意,每个线程将必须同时从同一内存位置读取(仅读取)。所以我想知道:有什么方法可以只读取一次内存就向所有线程广播相同的double吗?读很多次是没有用的...任何想法吗?

cuda broadcast

3
推荐指数
1
解决办法
2226
查看次数

Python basehttpserver无法正确提供请求

我正在尝试为javascript写下一个简单的本地代理:因为我需要从网页中的javascript加载一些东西,我在python中编写了这个简单的守护进程:

import string,cgi,time
from os import curdir, sep
import urllib
import urllib2

from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer


class MyHandler(BaseHTTPRequestHandler):



    def fetchurl(self, url, post, useragent, cookies):
        headers={"User-Agent":useragent, "Cookie":cookies}

        url=urllib.quote_plus(url, ":/?.&-=")
        if post:
            req = urllib2.Request(url,post,headers)
        else:
            req=urllib2.Request(url, None, headers)
        try:
            response=urllib2.urlopen(req)
        except urllib2.URLError, e:
            print "URLERROR: "+str(e)
            return False
        except urllib2.HTTPError, e:
            print "HTTPERROR: "+str(e)
            return False
        else:
            return response.read()


    def do_GET(self):
        if self.path != "/":
            [callback, url, post, useragent, cookies]=self.path[1:].split("%7C")

            print "callback = "+callback
            print "url = "+url
            print "post …
Run Code Online (Sandbox Code Playgroud)

python opera http web

3
推荐指数
1
解决办法
4687
查看次数

具有冲突名称的类的构造方法

我正在使用clang来使用c ++ 14方言编译我的代码.请看以下示例:

class x
{
    int _i;

public:

    x(int i)
    {
        this->_i = i;
    }
};

void x()
{
}

void f(class x my_x)
{
    // Do something here
}

int main()
{
    /*
     f(x(33)); // Doesn't work
     f(class x(33)); // Doesn't work
    */

    // This works:

    class x my_x(33);
    f(my_x);

    typedef class x __x;
    f(__x(33));
}
Run Code Online (Sandbox Code Playgroud)

在这里,我有一个名为xname 的类,其名称与具有相同名称的函数冲突.要区x分类和x函数,必须使用class标识符.这适用于所有情况,但我永远无法找到直接调用构造函数的方法x.

在前面的例子,我想提供的功能fx通过建立它在旅途中的对象.但是,如果我使用f(x(33))它将它解释为对函数的格式错误的调用x,并且如果我使用f(class …

c++ constructor class clang

3
推荐指数
1
解决办法
107
查看次数

我可以相信两个相同结构的序列化是相同的吗?

考虑以下代码:

use serde::{Serialize, Deserialize};

#[derive(Serialize, Deserialize)]
struct MyStruct {
   a: u32,
   b: u32
}

#[derive(Serialize, Deserialize)]
#[serde(rename = "MyStruct")]
struct AlsoMyStruct {
   a: u32,
   b: u32
}
Run Code Online (Sandbox Code Playgroud)

我想知道我是否可以安全地做类似的事情:

let ser = any_encoding::serialize(&MyStruct{a: 33, b: 44}).unwrap();
let deser: AlsoMyStruct = any_encoding::deserialize(&ser).unwrap();
Run Code Online (Sandbox Code Playgroud)

其中any_encoding是,例如bincodejson或任何其他 Serde 支持的编码。在我看来,这应该很好地工作:两个结构具有相同的名称(我明确重命名AlsoMyStruct"MyStruct")和完全相同的字段:相同的字段名称、相同的字段类型、相同的字段顺序。

但是,我想知道:这真的能保证有效吗?MyStruct或者 Serde 序列化器/反序列化器是否可能在/的表示中包含一些其他的、极端情况的、可能与平台相关的、不可预见的信息,AlsoMyStruct这些信息可能会导致两种表示不兼容?

rust serde

3
推荐指数
1
解决办法
201
查看次数

mousepressevent的问题

我刚问了一个类似的问题但是(对不起!)我想我需要更多的帮助.pyqt中的信号有问题.让我发布整个代码,它不长,我更容易解释...

from PyQt4 import QtGui, QtCore, Qt
import time
import math

class FenixGui(QtGui.QWidget):

    def backgroundmousepressevent(self, event):
        print "test 1"
        self.offset = event.pos()


    def backgroundmousemoveevent(self, event):
        print "test 2"
        x=event.globalX()
        y=event.globalY()
        x_w = self.offset.x()
        y_w = self.offset.y()
        self.move(x-x_w, y-y_w)


    def __init__(self):
        super(FenixGui, self).__init__()

        # setting layout type
        hboxlayout = QtGui.QHBoxLayout(self)
        self.setLayout(hboxlayout)

        # hiding title bar
        self.setWindowFlags(QtCore.Qt.FramelessWindowHint)

        # setting window size and position
        self.setGeometry(200, 200, 862, 560)
        self.setAttribute(Qt.Qt.WA_TranslucentBackground)
        self.setAutoFillBackground(False)

        # creating background window label
        backgroundpixmap = QtGui.QPixmap("fenixbackground.png")
        self.background = QtGui.QLabel(self)
        self.background.setPixmap(backgroundpixmap)
        self.background.setGeometry(0, …
Run Code Online (Sandbox Code Playgroud)

python signals pyqt mouseevent mousepress

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

ip碎片有多糟糕

据我所知,当发送ip消息时,be和我的数据包目的地之间的网络路径中的每一跳都将检查下一跳的MTU是否大于我发送的数据包的大小.如果是这样,则数据包将被分段,并且两个数据包将分别发送到下一跳,仅在目的地重新组装(或者,在某些情况下,在遇到的第一个NAT路由器处).据我所知,这件事情可能非常糟糕,但我并不理解为什么.

  • 我知道如果连接往往会丢弃很多数据包,丢失一个片段意味着我必须重新发送整个数据包(这实际上是我自己想出的唯一的事情)
  • 是否有可能不会被分割,我的数据包将被丢弃?
  • 如何识别数据包片段?我可以100%确定它们会被正确重新组装吗?例如,如果我将两个相同长度的ip数据包几乎同时发送到同一个目的地,那么两个片段的可能性有多大,如AAA,BBB重新组装成ABA,BAB?

原则上,如果数据包没有被丢弃并且片段被正确地重新组装,实际上使用数据包分段似乎是一个好主意,可以节省本地带宽并避免发送越来越多的头而不仅仅是一个大数据包.

谢谢

sockets ip networking routing ip-fragmentation

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

最通用的方法来检查我是否可以将一个类分配给另一个

在C++中,给定两个类,a以及b检查某些表达式的最常用方法是什么

my_a = my_b;
Run Code Online (Sandbox Code Playgroud)

会有意义吗?我想过使用is_convertible但是没有检测到强制转换运算符.也许它仅适用于原始类型?我希望我的测试能够产生true:

  • a并且b是一样的
  • b 可以演员 a
  • a有一个接受b项目的赋值运算符

等等.有没有办法让这样的事情完成?

c++ casting variable-assignment assign

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

将console.log输出重定向到文件

这应该是一个微不足道的问题,但我似乎并没有理解它.有没有简单的方法将我的所有console.log输出重定向到文件?console.log以一种很好的方式格式化提供的对象,并与不是普通JSONable对象的对象正确交互.

例如,如果我这样做

var myerr = new Error('There has been an error');
console.log(myerr);
Run Code Online (Sandbox Code Playgroud)

我明白了

[Error: There has been an error.]
Run Code Online (Sandbox Code Playgroud)

如果我这样做的话

process.stdout.write(JSON.stringify(myerr));
Run Code Online (Sandbox Code Playgroud)

我明白了

{}
Run Code Online (Sandbox Code Playgroud)

如果我这样做

process.stdout.write(myerr.toString());
Run Code Online (Sandbox Code Playgroud)

我明白了

Error: There has been an error
Run Code Online (Sandbox Code Playgroud)

因此,如果我console.log使用上面的任何技巧在其参数上循环的函数覆盖我,并将输出重定向到文件,则日志将不完全相同.

所以我想知道:console.log在将它们输出到控制台之前,如何处理它所提供的对象?它只是调用.toString()每个对象,包装[]并发送所有内容process.stdout.write?或者它是否进行其他类型的预处理?

file node.js console.log

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