import concurrent.futures
import time
def process_one(i):
try:
print("dealing with {}".format(i))
time.sleep(50)
print("{} Done.".format(i))
except Exception as e:
print(e)
def process_many():
with concurrent.futures.ThreadPoolExecutor(max_workers=MAX_WORKERS) as executor:
executor.map(process_one,
range(100),
timeout=3)
if __name__ == '__main__':
MAX_WORKERS = 10
try:
process_many()
except Exception as e:
print(e)
Run Code Online (Sandbox Code Playgroud)
该文件说:
返回的迭代器引发一个
concurrent.futures.TimeoutErrorif__next__()被调用,结果timeout在原始调用的秒数之后不可用Executor.map()
但是这里的脚本没有引发任何异常并且一直在等待.有什么建议?
>>> from PyQt4 import QtCore
>>> str = QtCore.QString('Hello')
AttributeError: 'module' object has no attribute 'QString'
>>> QtCore.QString._init_(self)
AttributeError: 'module' object has no attribute 'QString'
Run Code Online (Sandbox Code Playgroud)
是的,我读过QString Class Reference
为什么我不能导入QString来自QtCore,如文档指定?
我有一些python代码生成一些我希望能够在窗口中打印或显示的信息.
整个窗口将用于显示格式丰富的文本(粗体,斜体,彩色字体,各种字体大小等).该文本也应该是只读的.此外,光标不应该是可见的.就像在网络浏览器中一样.
我应该使用哪个PyQt类?如果可以使用QTextEdit,请告诉我如何使它只读,并将各种格式应用于文本.如果任何其他PyQt类更适合这个,请告诉我.
更新:我发现这个类:http: //pyqt.sourceforge.net/Docs/PyQt4/qtextdocument.html 它说
QTextDocument是结构化富文本文档的容器,为样式化文本和各种类型的文档元素(如列表,表格,框架和图像)提供支持.它们可以创建用于QTextEdit,也可以单独使用.
使用QTextDocument类而不是QTextEdit直接使用是否有优势?
zipimport标准导入会自动使用该模块来处理.zipsys.path元素.
是否可以添加钩子来支持其他文件类型?例如一个处理程序.tar.gz?
例如,如果sys.path包含/path/to/archive.tar.gz或者/path/to/archive.xyz可以提供处理程序来打开和读取.tar.gz或.xyz文件.
我有以下代码:
struct something {
char *(*choices)[2];
};
char* arr[2] = {"foo", "bar"};
int main(void) {
struct something obj;
obj.choices = &arr;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
当我使用普通的C编译器(gcc)进行编译时,没有任何错误。但是,我正在为Z80进行编译,它会引发一个ERROR (152) Operands are not assignment compatible,其描述为:
试图分配一个不能将其类型提升为目标类型的值。
我不明白&arr和的类型char *(*choices)[2]会有何不同。我该怎么做才能解决此问题?
(我正在使用Zilog z80编译器,它是ZDS 5.2.0的一部分)
我下面的代码当前打开一个空白的 500x500 QMainWindow。
我只是想使用 QPainter 在 QWidget 中画一个圆圈。
这是我的代码:
from PyQt4 import QtCore, QtGui, Qt
from PyQt4.QtGui import QApplication, QMainWindow
import sys
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.resize(500, 500)
self.centralwidget = QtGui.QWidget(MainWindow)
self.horizontalLayout = QtGui.QHBoxLayout(self.centralwidget)
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtGui.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 500, 22))
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtGui.QStatusBar(MainWindow)
MainWindow.setStatusBar(self.statusbar)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
class MyMainScreen(QMainWindow):
def __init__(self, parent=None):
QtGui.QMainWindow.__init__(self, parent)
self.ui = Ui_MainWindow() # This is from a python export from QtDesigner
self.ui.setupUi(self)
self.paintCircle()
def paintCircle(self):
self.painter = QtGui.QPainter(self)
self.painter.begin(self)
self.painter.setPen(Qt.QPen(Qt.QColor.black))
# painter.end()
self.painter.drawArc(QtCore.QRectF(250, …Run Code Online (Sandbox Code Playgroud) 我想根据2D平面上一组点之间的欧氏距离计算最小生成树.我当前的代码存储了所有边,然后执行Prim的算法以获得最小的生成树.但是,我知道这样做会O(n^2)占用所有边缘的空间.
在做了一些研究之后,如果我首先在这组点上计算delaunay三角剖分,然后通过在三角剖分的边缘上运行Prim或Kruskal算法来获得最小生成树,那么很明显可以优化内存和运行时.
这是编程竞赛的一部分(https://prologin.org/train/2017/qualification/taxi_des_neiges),所以我怀疑我能否使用scipy.spatial.有没有其他方法可以简单地获得Delaunay三角剖分中包含的边缘?
提前致谢.
在pyqt中,设置样式表的标准方法如下:
MainWindow.setStyleSheet(_fromUtf8("/*\n"
"gridline-color: rgb(85, 170, 255);\n"
"QToolTip\n"
"{\n"
" border: 1px solid #76797C;\n"
" background-color: rgb(90, 102, 117);;\n"
" color: white;\n"
" padding: 5px;\n"
" opacity: 200;\n"
"}\n"
"#label_3{\n"
" background-color:rgb(90, 102, 117);\n"
" color:white;\n"
" padding-left:20px;\n"
" \n"
"}\n"
"#label_2{\n"
" color:white;\n"
" padding-left:20px;\n"
" \n"
"}\n"
Run Code Online (Sandbox Code Playgroud)
但是就像我们在html中链接样式表
<link rel="stylesheet" href="style.css">
一样,在pyqt中不能做同样的事情吗?它有助于组织事物。