我是QT的新手.我知道你可以强制显示刷新,但我已经把我所有的头发拉出来试图找出方法.这是我特别想要做的.
我按下一个按钮(onClick信号事件),它运行代码,在显示器上更改图像(QLabel),等待输入,然后通过更改新图像(不同的QLabel)继续.我已经尝试了所有内容,直到onclick信号事件代码完成后,显示才会刷新.现在,我不是在等待用户输入,我正在使用usleep(~500 ms)进行测试.
从我读到的内容来看,QT是事件驱动的,这意味着我基本上创建了一堆事件,这些事件被置于一个空闲状态,并在(onClick信号事件)返回到(主循环)/(事件处理程序)时执行.我不想等到函数完成后,如果我必须完全根据事件完成这个例程,它将使编程非常痛苦.
如何强制QLabel像素图刷新.我已经尝试了一切.下面是我在onClick信号事件处理程序中尝试过的所有代码.(upButton是QLabel的名称,是pixmap)
update();
repaint();
ui->upButton->setUpdatesEnabled(TRUE);
update();
repaint();
QPaintEvent paintevent(ui->upButton->childrenRegion());
QPaintEvent * test = &paintevent;
paintEvent(test);
this->changeEvent(test);
ui->upButton->update();
ui->upButton->repaint();
ui->upButton->repaint(ui->upButton->childrenRegion());
repaint();
QApplication::sendPostedEvents();
this->parentWidget()->update();
usleep(100000);
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我现在只是在黑暗中拍摄.我试着查看示例代码并完成所有作业,但我迷路了.感谢任何帮助,建议和/或示例代码.
在Facebook上,当我发布链接http://wisdomuniversity.org时,Fascebook包含旧元数据(标题,描述等).我最近添加了Open Graph Protocol元标记,但Facebook仍然使用旧的东西.Facebook如何刷新此元数据,我可以强制刷新吗?
远程存储库中有一个新分支,但它不会出现在android studio的git分支中.如何刷新该列表以显示新分支?
我试过git branch -r
但是新的分支没有显示在列表中.
我在我的主窗体上有一个dgv,有一个按钮可以打开另一个窗体,将一些数据插入到与dgv绑定的数据源中.我希望当子窗体关闭dgv自动刷新时.我试图在子窗体关闭事件中添加它,但它不刷新:
private void frmNew_FormClosing(object sender, FormClosingEventArgs e)
{
frmMain frmm = new frmMain();
frmm.itemCategoryBindingSource.EndEdit();
frmm.itemsTableAdapter.Fill(myDatabaseDataSet.Items);
frmm.dataGridView1.Refresh();
}
Run Code Online (Sandbox Code Playgroud)
但是,当我在父窗体上的按钮中添加此代码时,它实际上可以解决这个问题:
this.itemCategoryBindingSource.EndEdit();
this.itemsTableAdapter.Fill(myDatabaseDataSet.Items);
this.dataGridView1.Refresh();
Run Code Online (Sandbox Code Playgroud) 我想刷新我的所有实体DbContext而不重新创建它,我尝试了以下内容,但没有一个是有意义的:
var context = ((IObjectContextAdapter)myDbContext).ObjectContext;
var refreshableObjects = (from entry in context.ObjectStateManager.GetObjectStateEntries(
EntityState.Added
| EntityState.Deleted
| EntityState.Modified
| EntityState.Unchanged)
where entry.EntityKey != null
select entry.Entity);
context.Refresh(RefreshMode.StoreWins, refreshableObjects);
//.......................................................................
foreach (var entry in this.Orm.ChangeTracker.Entries())
{
entry.State = EntityState.Unchanged;
}
this.Orm.ChangeTracker.DetectChanges();
Run Code Online (Sandbox Code Playgroud)
唯一一个刷新我的DbContext:
foreach (var i in this.Orm.ChangeTracker.Entries())
i.Reload();
Run Code Online (Sandbox Code Playgroud)
但它太慢了.你能帮我选择正确的方法吗?
我正在写一个程序,但是我遇到了一个问题:当我刷新jsp页面时,系统会自动重新提交整个页面,我不知道如何避免它,有人可以帮助我吗?
我希望有人能回答一个关于刷新网页的基本问题.
我有一个dotnet webform,用户填写一些详细信息并点击提交.网页背后的代码有大约20个要执行的功能.
现在假设,当用户点击提交按钮时,网页正在执行第五功能,同时用户刷新他的浏览器;
已处理的页面会发生什么?页面会立即终止吗?或者它会被允许运行直到它执行第20个功能?或者是否会销毁运行的页面并创建新页面并将其发送给客户端?
谢谢你的回答.
我在这里和其他地方搜索了很多帖子,但似乎无法找到我的问题的解决方案.我有一个显示数据库条目的页面:database.php.可以使用表单过滤这些条目.当我过滤它们并只显示我感兴趣的那些时,我可以点击一个条目(作为链接),它将我带到那个条目页面(通过php GET).当我在该条目页面上(即"view.php?id = 1")并点击后退按钮(返回到database.php)时,过滤器表单需要确认表单重新提交.有什么方法可以防止这种情况吗?
这里有一些(简化的)代码示例:
database.php中:
<form>
<select>
<option>1</option>
<option>2
<option>
</select>
<input type="submit" name="apply_filter" />
</form>
<?php
if ( isset( $_POST[ "apply_filter" ] ) ) { // display filtered entries
$filter = $_POST[ "filter" ];
$q = "Select * from table where col = '" . $filter . "'";
$r = mysql_query( $q );
} else { // display all entries
$q = "Select * from table";
$r = mysql_query( $q );
}
while ( $rec = mysql_fetch_assoc( $r …Run Code Online (Sandbox Code Playgroud) 我一直在使用Simple Modal,我觉得它不符合我现在所需要的.
是否有一个Modal Box支持加载外部文件,并允许这些外部文件关闭模式框并将父页面重定向到某个URL.
我想做的一个例子.你有一个用户列表,你可以点击"添加用户"和弹出表格的模态框,你填写并提交.这将关闭该框并重新加载用户列表页面,以便您在列表中看到该用户.
然后,您可以单击"编辑用户",弹出一个模板框,其中填写了表单字段中填写的用户信息,您可以编辑,提交,然后关闭并刷新.
我知道如果我将用户信息表格作为每个用户的隐藏div,但这不能很好地扩展,并且这是很多开销数据.
我在Google Code上找到了一些关于此问题的代码,但却无法使其工作(可能是不同的简单模态版本
我也愿意换成另一个模态框工具.
更新:
从子IFrame元素关闭Thickbox或Fancybox支持吗?
我正在使用JavaScript/Jquery使用数据库中的值进行页面自动更新,尽管它似乎没有在Internet Explorer中更新.它在FireFox和Chrome中运行良好.任何人都可以解释什么是错的吗?看起来IE只是显示页面的缓存版本.我怎样才能防止这种情况发生?谢谢.
function updateComm() {
var url="commandSys.php";
jQuery("#theElement").load(url);
}
setInterval("updateComm()", 1000);
Run Code Online (Sandbox Code Playgroud)