我正在尝试添加一个gtkProgressBar我为R脚本创建的小接口(使用该RGtk2包).
如果我做一些简单的事情,如:
for (i in 1:50)
{
gtkProgressBarSetFraction(progress, i/50)
Sys.sleep(1)
}
Run Code Online (Sandbox Code Playgroud)
一切顺利,酒吧每秒更新一次.
但是,当我转到我的实际代码时,我有一个循环,我做了类似的事情
for(i in 1:1000)
{
gtkProgressBarSetFraction(progress, i/1000)
#do some heavy computation here
}
Run Code Online (Sandbox Code Playgroud)
这里的问题是界面"冻结"并且进度条仅在循环结束时更新,因此完全击败其使用...
我在这里错过了什么吗?如何定期"唤醒"界面以使其刷新?
谢谢你尼科
编辑:好的,我解决了问题,但我仍然不明白发生了什么.我之后添加了一个Sys.sleep电话gtkProgressBarSetFraction,现在接口更新了.为了减少"浪费的时间",我刚才这样做了Sys.sleep(0.0001)(因此,对于1000个周期,我只有大约0.1-1秒的计算时间,这是可以接受的).任何人都可以解释为什么会这样?
从我的研究中,我了解有三种方法可以将svg文件放在HTML中:
使用嵌入:
<embed src="plot1.svg" width="500" height="320" type="image/svg+xml" />
Run Code Online (Sandbox Code Playgroud)
使用对象:
<object data="plot1.svg" width="500" height="320" type="image/svg+xml" />
Run Code Online (Sandbox Code Playgroud)
使用iframe:
<iframe src="plot1.svg" width="500" height="320"> </iframe>
Run Code Online (Sandbox Code Playgroud)
我在测试装备(django内置开发服务器,在Firefox 3.6中渲染页面)中尝试了所有这三个.在这个明显无菌的环境下,我没有注意到三个w/r/t性能或分辨率之间的任何差异.
我的问题是,其中一个是否优于其他两个,如果是,哪一个.答案当然可能取决于事实,我试图限制相关的事实:
我们经常在我们的网站上显示数据(例如,时间序列),通常是根据某些用户操作创建的; 基于该用户动作,对数据库进行调用,返回的数据被压缩并发送到绘图引擎,该绘图引擎呈现静态图像,然后将其嵌入页面中 - 非常标准的东西.
这工作正常,但我想为这些图表添加一些交互式功能(例如,工具提示,超链接轴标签,突出显示图中的一组点).一些图表相当复杂(例如,多面板调节),我还没有找到包含这些功能的javascript图表库.我最终决定使用相同的绘图库(Lattice in R),但在svg中渲染每个图表,然后在后处理步骤中添加用户交互功能,后者主要包含直接操作XML的javascript函数.
如果我想创建一个*nix符号链接,我会打电话symlink();,如果我在Windows上运行脚本并且我想创建一个快捷方式,我会使用Win32::Shortcut.
但是,如果我想从*nix机器运行脚本时创建Windows快捷方式该怎么办?
我正从我的*nix机器访问Windows Server 2003计算机上的SMB共享.
是否有关于如何命名在.NET中触发事件的方法的设计指南?在不同的例子中,我见过以下所有:
OnPropertyChanged()
FirePropertyChanged()
TriggerPropertyChanged()
RaisePropertyChanged()
Run Code Online (Sandbox Code Playgroud)
当然这并不是非常重要,但我想以"正确"的方式做到这一点,而不是将其他人与不寻常的命名惯例混淆.=)
我有一个 OL 元素,里面有 list-style-position: 。但是,如果 LI 元素内的文本是多行的,则下一行上的文本将与编号一起向左对齐,而不是与其他文本对齐。
有什么办法可以解决这个问题吗?
使用的代码:
<style type="text/css">
ol { list-style-position: inside; }
</style>
<ol>
<li>If this text passes to the next line, it's not aligned with the content but with
the numeric label.
</ol>
Run Code Online (Sandbox Code Playgroud)
感谢您的帮助 :)
在尝试向Many To Many关联表中插入新条目时,我收到此错误:Could not synchronize database state with session
我可以理解这是处理getSession()和session.close()的问题
但我无法准确地弄明白.对于每个事务,我正在创建一个新会话.但我在用户注销时关闭所有会话.即:创建一个hibernate会话并将其与HttpSession绑定.然后我在用户注销中销毁它.
有些时候在处理这个问题后,我得到a different object with the same identifier value was already associated with the session:错误.
由于没有正确地打开和关闭会话,所有这些错误都将到来.
您更喜欢打开和关闭会话的方法.我的项目是创建一个网络应用程序.该web-app中的每一个动作都与DB有关.
有什么建议!!!
在我的系统上,我得到:
sizeof ( int ) = 4
sizeof ( long ) = 4
Run Code Online (Sandbox Code Playgroud)
当我检查一个C程序时,两个int&long溢出到负面后:
a = 2147483647;
a++;
Run Code Online (Sandbox Code Playgroud)
如果两者都可以表示相同的数字范围,为什么我会使用long关键字?
为什么以下代码需要添加(和)eval?
var strJson = eval("(" + $("#status").val().replace(";","") + ")");
Run Code Online (Sandbox Code Playgroud)
PS:$("#status").val()正在返回类似的东西{"10000048":"1","25000175":"2","25000268":"3"};
我正在考虑重载+操作符以获取某个字符串,因此我考虑将字符串类子类化,然后在新类中添加代码.但是我想首先看一下标准的字符串类,但我似乎无法找到它...愚蠢的呃?
任何人都可以指出方向吗?甚至是源代码的在线文档.
您好,是否可以使用jQuery获取gridview的当前rowindex?
一点背景:
我使用模板字段中的服务器端链接按钮从gridview中删除行,如下所示:
<asp:LinkButton CausesValidation="false" CommandName="Delete" ID="lnkDelete"
OnClientClick="javascript: return(confirm('Delete item?'));" runat="server" Text="Delete" />
Run Code Online (Sandbox Code Playgroud)
提示用户确认或取消删除.如果用户单击"确定",则会在代码隐藏中调用此方法:
protected void GridViewRowDeleting(object sender, GridViewDeleteEventArgs e)
{
this.gridview_uploads.EditIndex = -1;
if (!this.UploadsList.Count.Equals(0))
{
DocumentUpload upload = this.UploadsList[e.RowIndex];
if (upload != null)
{
this.UploadsList.RemoveAt(e.RowIndex);
this.BindInputGridview();
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是javascript确认(删除项目?)看起来有点不对劲.
我更喜欢使用类似JQuery的对话框,但如果我这样做,我不知道如何使用这种方法获取rowindex(我可以弄清楚如何调用服务器代码).
有任何想法吗?
对不起,如果已经有人问过这个问题 - 我做了拖网搜索并搜索了它,但找不到任何有用的东西.