我有巨大的 - 大约300万对 - 2D点阵列,我需要在基于Qt的应用程序中以合理的速度渲染.
我已经尝试过使用QGraphicsScene,但它甚至在400000原语上都非常慢,所以我正在调查qwt库.
它有散点图例如屏幕截图的SF网页,它看起来像正是我需要的,但我不能找到既不任何形式的实际代码,可用于这一数据,也没有在QWT文档根据API -仅提及不同类型的曲线.
因此,获得散点图示例的一些指示以及对其性能的一些建议会很好.其他c ++ qt兼容绘图库的建议也可以应对这一数据量.
我想利用python的内省功能进行调试/开发,但找不到合适的工具.
我需要在特定位置或特定事件(例如异常)进入shell(例如IPython),将shell的locals和globals设置为frame的.
我自己快速解释它:
import inspect
from IPython.Shell import IPShellEmbed
def run_debug():
stack = inspect.stack()
frame = stack[1][0]
loc = frame.f_locals
glob = frame.f_globals
shell = IPShellEmbed()
shell(local_ns=loc, global_ns=glob)
Run Code Online (Sandbox Code Playgroud)
使用来自'breakpoint'的run_debug()调用或try/except.但是,显然,这需要很多抛光,尤其是正确使用线程应用程序.
winpdb在控制台上有断点,但我发现无法从中快速运行适当的python shell,并且eval()/ exec()对于长调试来说不是很方便.
我有标记语言,类似于降价和SO使用的语言.
传统解析器基于正则表达式并且是完整的噩梦来维护,因此我提出了基于EBNF语法的自己的解决方案,并通过mxTextTools/SimpleParse实现.
但是,某些令牌存在问题,这些令牌可能包含彼此,而且我没有看到"正确"的方式来执行此操作.
这是我的语法的一部分:
newline := "\r\n"/"\n"/"\r"
indent := ("\r\n"/"\n"/"\r"), [ \t]
number := [0-9]+
whitespace := [ \t]+
symbol_mark := [*_>#`%]
symbol_mark_noa := [_>#`%]
symbol_mark_nou := [*>#`%]
symbol_mark_nop := [*_>#`]
punctuation := [\(\)\,\.\!\?]
noaccent_code := -(newline / '`')+
accent_code := -(newline / '``')+
symbol := -(whitespace / newline)
text := -newline+
safe_text := -(newline / whitespace / [*_>#`] / '%%' / punctuation)+/whitespace
link := 'http' / 'ftp', 's'?, '://', (-[ \t\r\n<>`^'"*\,\.\!\?]/([,\.\?],?-[ \t\r\n<>`^'"*]))+
strikedout := -[ \t\r\n*_>#`^]+
ctrlw := '^W'+ …
Run Code Online (Sandbox Code Playgroud)