问题列表 - 第20163页

如何在QT中的树视图项内渲染复杂的小部件?

我有QT模型/视图框架的以下问题.我想在表视图项中呈现一个小部件.

首先我的想法是使用

void QAbstractItemView::setIndexWidget( const QModelIndex & index, QWidget * widget )
Run Code Online (Sandbox Code Playgroud)

但是该函数的文档明确指出:

此功能仅应用于显示与数据项对应的可见区域内的静态内容.如果要显示自定义动态内容或实现自定义编辑器窗口小部件,请改为子类QItemDelegate.

所以他们建议在这里使用代表.好吧,到目前为止一切顺利.我知道代理可能会用来创建一个编辑器,它基本上可以是任何QT小部件.但问题出在这里 - 我不希望这个小部件成为编辑器 - 我想总是用这个小部件渲染项目.而不只是"渲染",我需要它具有小部件的确切行为.

现在我想要使用的小部件是一个自定义小部件,它是一些其他小部件的容器(几个复选框,几个带有一些布局的按钮).

我考虑的解决方案是这样的:

  1. 将我的自定义小部件的外观抓取到像素图.
  2. 让委托使用这个像素图绘制自己.
  3. 当鼠标悬停在某个项目上时会导致视图自动开始编辑(我不
    知道该怎么做,但我想这是可能的)
  4. 让委托创建我的小部件作为项目的编辑器.

这个解决方案似乎有效,但它对我来说闻起来很糟糕.任何人都可以为这个问题更优雅的解决方案?

谢谢.

qt delegates view

9
推荐指数
1
解决办法
5315
查看次数

Delphi - 如何在Vista/Win 7中更改默认文件扩展名

我正在尝试添加注册文件扩展名的exe文件.下面的代码适用于XP,但在Win Vista/7中引发错误.

var
  reg: TRegistry;
begin
  reg := TRegistry.Create;
  try
    reg.RootKey := HKEY_CLASSES_ROOT;
    reg.OpenKey('.' + ExtName, True);
    reg.WriteString('', ExtName + 'file');  //error: Failed to set data for ''
    reg.CloseKey;
    reg.CreateKey(ExtName + 'file');
    reg.OpenKey(ExtName + 'file\DefaultIcon', True);
    reg.WriteString('', AppName + ',0');
    reg.CloseKey;
    reg.OpenKey(ExtName + 'file\shell\open\command', True);
    reg.WriteString('', AppName + ' "%1"');
    reg.CloseKey;
  finally
    reg.Free;
  end;

  SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil);
Run Code Online (Sandbox Code Playgroud)

如何在Vista/7中完成同样的事情?

delphi

3
推荐指数
1
解决办法
881
查看次数

使用Facebook连接IFrame内部(不是Facebook内部的iframe)

我正在尝试在IFrame中使用Facebook连接.看来,在用户完成身份验证并授予我的应用权限后,Facebook Cookie不会保存在浏览器中.

这是场景:

1)用户按下我的Iframe内的连接按钮.

2)用户通过FB Connect进行身份验证.

3)用户授予我的应用程序的权限.

4)iframe页面刷新,但服务器端API仍然没有返回用户 - Facebook cookie不在浏览器中(我认为这是问题)

5)服务器再次显示已注销的页面,FB Connect JavaScript将用户标识为已注销.

6)在某些浏览器上,刷新IFrame内容可以解决此问题.

如果我在自己的窗口中加载iframe网址,在iframe之外,一切正常.

我一直试图解决它两天了.请帮忙!

谢谢

cookies iframe facebook

5
推荐指数
1
解决办法
4912
查看次数

我有时会抛弃异常吗?

我有一个最佳实践问题.我意识到这是主观的,但是如果这是一种常见的编程习惯,我想问一下比我聪明的人.

如果你有一种非常重要的方法,你不想干扰应用程序的重要功能,那么使用像这样的错误接收器是否常见?

Try 
    'do stuff.  not important if it fails.

Catch ex as exception
    'sink.  do nothing.
End Try
Run Code Online (Sandbox Code Playgroud)

如果您正在考虑雇用我,而您正在阅读我的一些代码并看到了这个......对吗?

赛斯

编辑 哇!谢谢你的回答.我认为共识是永远不应该做的,或者它应该是非常罕见的.

我想我会给你这个问题的背景.首先,我非常熟悉Karl Sequin文章,并且已经遵循了这种模式多年.

但是今天在我正在进行的项目中,我正在完成更改列表并面临添加一个简单的功能.(如果您想知道......它正在为富文本框添加上下文菜单支持.)

所附说明称,"如果需要的时间超过15分钟......就放弃它."

所以我面临着添加一个潜在有用的功能但是没有时间来测试它不会破坏工作功能.对于记录,我们的此系统的异常处理程序具有处理和下沉或记录这些错误的机制.但是如果我正在开发一个没有强大错误处理系统的系统呢?是否可以添加此功能,如果发生错误......什么都不会丢失.

这是我的想法.但我已经把你的信息铭记于心......基本上这是一个坏主意.

赛斯

exception-handling exception

36
推荐指数
5
解决办法
1521
查看次数

从另一个控件中的控件刷新asp.net页面

我想在有人点击"添加"按钮后刷新我的asp.net页面.但是,"添加"按钮是另一个用户控件内部的用户控件的一部分,并且子控件和父控件都包含在更新面板中:下面的代码被缩短显示,这是用户控件在另一个用户控件内部的原因

内部第一控制:

<ajax:UpdatePanel ID="Panel1" runat="server" UpdateMode="Always">
   <ContentTemplate>
             <uc:Control2 ID="Custom2" runat="server" />
   </ContentTemplate>
</ajax:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)

然后在control2里面

<ajax:UpdatePanel ID="Panel2" runat="server" UpdateMode="Always">
   <ContentTemplate>
             <asp:LinkButton ID="AddButton" runat="server" OnClick="AddButton_Click"</asp:LinkButton>
   </ContentTemplate>
</ajax:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)

asp.net user-controls refresh

6
推荐指数
1
解决办法
1万
查看次数

Java:静态字段存在于内存中的哪个位置?

如果我们将对象存储在对象的静态字段中,JVM如何为它分配内存?它是否存在于"隐含"(不确定我是否使用正确的单词)类对象中?静态字段与对象字段有何不同?

java static class

17
推荐指数
2
解决办法
6568
查看次数

.Net xsd.exe工具不会生成所有类型

出于某种原因,MS .Net(v3.5)工具 - xsd.exe在任何元素中未使用时都不会生成类型.

例如

XSD文件(我投入复杂元素以避免此警告 - "警告:无法生成类,因为找不到具有复杂类型的顶级元素."):

<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://tempuri.org/XMLSchema.xsd"
    elementFormDefault="qualified"
    xmlns="http://tempuri.org/XMLSchema.xsd"
    xmlns:mstns="http://tempuri.org/XMLSchema.xsd"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
  <xs:simpleType name="EnumTest">
    <xs:restriction base="xs:string">
      <xs:enumeration value="item1" />
      <xs:enumeration value="item2" />
      <xs:enumeration value="item3" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="myComplexType">
    <xs:attribute name="Name" use="required" type="xs:string"/>
  </xs:complexType>
  <xs:element name="myElem" type="myComplexType"></xs:element>
</xs:schema>
Run Code Online (Sandbox Code Playgroud)

当我通过使用xsd.exe运行此时

xsd/c xsdfile.xsd

我没有在生成的cs文件中看到EnumTest.

注意; 即使我不在这里使用枚举,但在我的实际项目中,我有这样的情况,我们发送枚举的字符串值作为输出.

如何强制xsd工具包含这些?或者我应该切换到其他工具?

我在Visual Studio 2008中工作.

.net xsd.exe visual-studio

7
推荐指数
1
解决办法
1万
查看次数

通过appengine中的代码处理404抛出

我以这种方式管理"真正的"404错误:

application = webapp.WSGIApplication([
     ('/', MainPage),    
     #Some others urls
     ('/.*',Trow404) #I got the 404 page
],debug=False)
Run Code Online (Sandbox Code Playgroud)

但在我的代码的某些部分,我抛出404错误

self.error(404)
Run Code Online (Sandbox Code Playgroud)

我想显示之前提到的相同页面,¿有什么方法可以捕获404错误并进行管理吗?

我可以重定向到一些不存在的URL,但看起来很难看

python google-app-engine http-status-code-404

6
推荐指数
1
解决办法
2686
查看次数

python的`assert`语句有哪些可接受的用例?

如果我们处于腐败状态,我经常使用python的assert语句来检查用户输入并快速失败.我知道当使用-o(优化)标志的python时,assert会被删除.我个人不会在优化模式下运行我的任何应用程序,但感觉我应该远离断言只是在案件中.

写作感觉要干净得多

assert filename.endswith('.jpg')
Run Code Online (Sandbox Code Playgroud)

if not filename.endswith('.jpg'):
    raise RuntimeError
Run Code Online (Sandbox Code Playgroud)

这是断言的有效用例吗?如果没有,python assert声明的有效用例是什么?

python assert

30
推荐指数
4
解决办法
7024
查看次数

HTTP标头或SOAP标头中的WCF Soap操作?

我对如何在WCF(以及其他Web服务框架)中实现SOAPAction感到困惑.

在测试客户端中,我有一个Client Message Inspector,它配置为同时获取SOAP消息和随请求一起发送的任何HTTP头.至少在客户端消息检查器中,该操作显示为SOAP标头中的元素:

<s:Header>
    <Action ... >http://myurl.com/2009/11/MyService/MyMethod</Action>
Run Code Online (Sandbox Code Playgroud)

但是,如果我在Fiddler中查看请求,则该Action元素丢失,而现在HTTP标头中还有一个附加条目:

SOAPAction: "http://myurl.com/2009/11/MyService/MyMethod"
Run Code Online (Sandbox Code Playgroud)

谁能解释一下到底发生了什么?

谢谢!

c# wcf soap

14
推荐指数
2
解决办法
2万
查看次数