使用PyGTK开始我的第一个Python宠物项目.虽然它是一个非常强大的GUI工具包,看起来很棒,但我有一些小小的烦恼.所以我考虑过渡到别的东西,因为它还不是太广泛.看看SO和python文档,但没有得到很好的概述.
PyGTK有什么好处:
然而,这让我很烦恼:
TreeView:因为这是主要的界面元素,所以它最让人分心.基本上我的应用程序构建了一个要显示的字典列表name = column + row => value.要使用GTK显示它,需要手动转换过程,订购,类型转换.这似乎是很多开销,我希望在这里有一些更面向对象的东西.PyGtk在gtk +之上有许多抽象,但仍然看起来相当低级.我更喜欢按原样传递我的字典,并以某种方式预定义列.(GtkBuilder可以预定义TreeView列,但这不能解决数据表示开销.)
当我在TreeView列表上看到mousclick时,我还必须将所有内容转换回我的应用程序数据结构.而且,如果从非主线程运行,PyGTK不会使用gobject.idle本身包装gtk +调用也很令人讨厌.现在有很多GUI代码我认为不应该是必要的,或者可以合理化.
?那么,PyGTK上是否还有其他包装器.或者哪个其他工具包支持更简单的界面来显示Grid/TreeView.我已经阅读了很多关于wxPython是每个人最喜欢的东西,但它在Linux上不太成熟.和PyQt的似乎是大致相同的抽象水平PyGTK的.没有使用过很多TkInter,所以不知道它是否有更简单的接口,但无论如何看起来都没有吸引力.和PyFLTK一样.睡衣听起来很迷人,但已经太过分了(桌面应用程序).
.
所以,GUI工具包用dict - > Grid显示.你会选哪个?
.
就像展出的那样,这是我当前的TreeView映射函数.一些作品,但我宁愿有一些标准:
#-- fill a treeview
#
# Adds treeviewcolumns/cellrenderers and liststore from a data dictionary.
# Its datamap and the table contents can be supplied in one or two steps.
# When new data gets applied, the …Run Code Online (Sandbox Code Playgroud) 非常感谢一些帮助.我的主机服务器端更新导致我的评论表格抛出两个验证错误.第一个是:preg_match()返回警告:preg_match()[function.preg-match]:编译失败:在[脚本位置此处和行错误]中的偏移13处的字符类中的范围乱序 - 第二个是在主题检查处抵消14.
它在电子邮件地址检查中执行此操作:
if (preg_match('/[^a-zA-Z0-9_-.]/', $_POST['txtEmail']))
Run Code Online (Sandbox Code Playgroud)
和主题检查:
if (preg_match('/[^a-zA-Z0-9:?-. ]/', $_POST['txtSubject']))
Run Code Online (Sandbox Code Playgroud)
我不熟悉PHP,但可以剪切和粘贴!我的网站是frowey.com,这是联系我们的评论表,在托管操作系统更新后开始抛出错误.提前致谢.
我想用方括号替换主题标签,并在第一个方括号后添加一个单词,并且所有字符串都需要小写。
示例字符串:
$str = "This is some text
<p>##IDOBJECT=784##</p> and another some text
<p>##IDOBJECT=1509##</p>
<p>##LATESTARTICLESHOME=321##</p>
<p align=\"center\">##IDOBJECT=321##</p>";
Run Code Online (Sandbox Code Playgroud)
我想用 替换##IDOBJECT=123##格式化字符串[object idobject=123]。请注意,这里在第一个括号和字符串转换object为 后添加了额外的单词。我尝试使用此 正则表达式来查找这些字符串,但无法按照我的描述进行替换。[IDOBJECTidobject/(\##.*?\##)/
我的整个网站通过浏览器完美运行。我刚刚添加了一个 cron 作业,每次运行时都会触发此错误:
PHP Startup: Unable to load dynamic library 'mysqli' (tried: /usr/lib/php/20180731/mysqli (/usr/lib/php/20180731/mysqli: cannot open shared object file: No such file or directory), /usr/lib/php/20180731/mysqli.so (/usr/lib/php/20180731/mysqli.so: undefined symbol: mysqlnd_global_stats))
Run Code Online (Sandbox Code Playgroud)
不知道发生了什么。我已经使用浏览器和 cron 记录了 PHP 版本,结果是一样的:7.3.2-3+0~20190208150725.31+stretch~1.gbp0912bd
cron 有什么不同?我怎样才能解决这个问题?
PHP5引入了面向对象的文件包装器SplFileObject.我想我刚刚发现为什么几乎没有人使用它.它纯粹是面向行的,没有fread()方法 - 相应的frwite似乎暗示了这一点.
所以现在我想知道我是否可以扩展它.但我不确定什么是更好的解决方法.将文件指针($ fp)折叠起来时,SplFileObject并不是特别有用 - 它可以是私有属性,也可以是ZE内部资源.那么我如何扩展它以获得一个fread方法呢?
我会选择fgets解决方案循环,但听起来既麻烦又缓慢,并提供更多潜在的陷阱.OTOH打开辅助文件指针似乎也不是一个好方法,也需要自定义析构函数.
请不要告诉我使用布尔值!来检查它.因为我想使用jquery插件在我的函数中做一些事情.我想修复它只有正则表达式部分......这可能吗?
我正在创建一个显示在表格中的计算机清单网站.我正在尝试更改输出显示,例如以下内容
echo "<td>".$row['WindowsVersion']."</td>\n";
Run Code Online (Sandbox Code Playgroud)
显示5.0或5.1或5.2或6.0或6.1
但我想要它显示
5.0 as 2000
5.1 as XP
5.2 as 2003
6.0 as Vista
6.1 as 7
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激
我有这样的字符串
$color="rgb(255, 255, 0)";
Run Code Online (Sandbox Code Playgroud)
我想在数组或三个不同的变量中获得值255,255,0.例如
$arr[0]=255;
$arr[1]=255;
$arr[2]=0;
Run Code Online (Sandbox Code Playgroud)
我认为可以在正则表达式中完成.但我很难受.谢谢
您好,感谢您查看我的问题.我需要从HTML片段中获取一些数据.这个源是一个受信任的/结构化的,所以我认为在这个HTML中使用正则表达式是可以的.我认为Dom和php中的其他高级功能是一种矫枉过正.
以下是HTML代码段的格式.
<div id="d-container">
<div id="row-custom_1">
<div class="label">Type</div>
<div class="content">John Smith</div>
<div class="clear"></div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
在上面,请注意前2个DIV标签设置了ID.可能有几个row-custom_1像div标签,所以我需要逃避它们.
我的正则表达式实际上非常差,所以我期待你的帮助,从上面的html片段中抓住约翰史密斯.
它可能是这样的
<div * id="row-custom_1" * > * <div * class="content" * >GRAB THIS </div>
Run Code Online (Sandbox Code Playgroud)
但我不知道如何在正则表达式中做到这一点.约翰史密斯部分肯定不会包含任何HTML.它来自一个值得信赖的来源,它会删除所有html并以上述格式提供数据.
我可以理解正则表达式无论如何都不是处理HTML的好主意.非常感谢你的帮助.
30分钟后编辑:很多很棒的人建议使用HTML解析器,所以我做了; 像魅力一样工作.因此,如果有人带着类似的问题来到这里,作为愚蠢的问题作者,我建议使用DOM来完成工作.
我有一个看起来像这样的chatlog文件(名称代表屏幕名称,文字是他们的聊天字符串)
name: some text
name2: more text
name: text
name3: text
Run Code Online (Sandbox Code Playgroud)
我想把所有名字都染成:红色.
例如:<font color=red>myname:</fontcolor> hello
我该怎么做?
我不知道为什么,但这段代码在冒号之后对所有内容进行着色
echo preg_replace('/(.*?):/', "<font color=#F00>$1</font>:", $output);
Run Code Online (Sandbox Code Playgroud) php ×9
regex ×3
compilation ×1
cron ×1
expression ×1
gtk ×1
html ×1
mysqli ×1
preg-match ×1
preg-replace ×1
pygtk ×1
python ×1
replace ×1