我有问题,过滤"mousePressEvent"用installEventFilter
MyTestxEdit是一个小部件,QTextEdit
我希望所有的事件都QTextEdit将被处理MyTestxEdit
我已经使用了installEventFilter
这个伎俩适用于事件,keyPressEvent但不处理mousePressEvent
我做错了什么?
import sys
from PyQt4.QtGui import QApplication, QErrorMessage
from KdeQt.KQApplication import KQApplication
from KdeQt.KQMainWindow import KQMainWindow
from PyQt4.QtCore import *
from PyQt4.QtGui import *
import thread
class MyTestxEdit1(QTextEdit):
def __init__(self,parent):
QTextEdit.__init__(self)
self.setMouseTracking(True)
class MyTestxEdit(QWidget):
def __init__(self):
QWidget.__init__(self)
self.__qTextEdit=MyTestxEdit1(self)
self.__qHBoxLayout=QHBoxLayout()
self.setLayout(self.__qHBoxLayout)
self.__qHBoxLayout.addWidget(self.__qTextEdit)
self.__qTextEdit.installEventFilter(self)
def eventFilter(self,target,event):
print "eventFilter "+str(event.type())
if(event.type()==QEvent.MouseButtonPress):
print "Mouse was presssed "+str(event.type())
self.mousePressEvent(event)
return True
return False
if __name__ == '__main__':
app …Run Code Online (Sandbox Code Playgroud) 我遇到了与objective-c中的数组中的指针相关的问题.
我正在尝试做的是获取NSArray中的指针,将它们传递给方法,然后将返回的值分配回原始指针(属于该数组的指针).
根据我从C和C++中所知,通过解除引用数组中的指针,我应该能够更改它们指向的值...这是我正在使用的代码,但它不起作用(价值电话)指向永远不会根据NSLog输出更改).
NSArray *phoneNumbers = [phoneEmailDict objectForKey:@"phone"];
for (NSString* phone in phoneNumbers) {
(*phone) = (*[self removeNonNumbers:phone]);
NSLog(@"phone:%@", phone);
}
Run Code Online (Sandbox Code Playgroud)
这是我传递NSString*的方法签名:
- (NSString*) removeNonNumbers: (NSString*) string;
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我正在使用可变电话迭代phoneNumbers中的每个NSString*.我通过手机删除NonNumbers :,它返回修改后的NSString*.然后取消引用从removeNonNumber返回的指针并将值赋给phone.
你可以说,我可能不太了解Objective-C对象.我很确定这可以在C++或C中使用,但我不明白为什么它在这里不起作用!在此先感谢您的帮助!
我想制作一个Windows Mobile 6手机应用程序.此应用程序将与我想要的Web服务进行通信.
我对手机的网络服务和编程应用程序了解不多,所以我有几个问题.
我该如何进行身份验证?就像我的用户加载我的应用程序并转到登录页面.他们输入凭证.这将被发送到服务器并进行身份验证.现在我送回什么?是否有某种FormsAuthentication?
他们登录后我必须继续检查他们是否登录?就像在asp.net mvc中一样,我在所有标签上都有AuthorizeAttributes.这样,没有人可以只输入该动作方法的URL并能够访问它.但由于这是一个应用程序,我不确定他们是否可以(比方说)转到您的登录表单(第一个表单),然后以某种方式,在没有登录的情况下,转到您的主表单(登录表单之后的表单).
Web服务是否具有asp.net mvc等授权标签?因为我可能需要沿着这些方面的东西来确保他们的网络中没有一种类型能够浏览我的webservice路径并访问我在其中制作的所有方法.
我正在制作一个asp.net mvc应用程序,当用户在我的网站上输入他们的凭据时.它发送的是我猜的是明文吗?到服务器哈希然后检查.我知道也许有一天,当我能负担得起它可能会让ssl更安全.
所以我的问题是如何将凭证从手机发送到服务器将不如我现在对我的网站的安全性更低?差不多?可以做些什么来使它更安全(再次是SSL?).
谢谢
我知道在Haskell中有无限的序列是可能的 - 但是,我不完全确定如何生成一个
给定一种方法
generate::Integer->Integer
Run Code Online (Sandbox Code Playgroud)
取一个整数并生成序列中的下一个整数,我将如何构建一个无限序列呢?
以下类不使用反序列化(但序列化)System.Web.Script.Serialization.JavaScriptSerializer.
public class foo {
public KeyValuePair<string, string>? bar {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
尝试反序列化的结果System.NullReferenceException,当System.Web.Script.Serialization.ObjectConverter.ConvertDictionaryToObject到达bar属性.(注意,这是基于堆栈跟踪的推测.)
更改属性类型以KeyValuePair<string,string>修复问题,但我想尽可能保留Nullable类型.
JSON正是您所期望的:
{"foo": {
"bar": {
"Key":"Jean-Luc",
"Value":"Picard"
}
}}
Run Code Online (Sandbox Code Playgroud)
救命?
我有一个MySQL数据库,如下所示:
users
( id , name )
groups
( id , name )
group_users
( id , group_id , user_id )
Run Code Online (Sandbox Code Playgroud)
现在要查找用户所属的所有组,我会这样做:
select * from 'group_users' where 'user_id' = 47;
Run Code Online (Sandbox Code Playgroud)
这可能会返回如下内容:
( 1 , 3 , 47 ),
( 2 , 4 , 47 ),
Run Code Online (Sandbox Code Playgroud)
但是当我想向用户显示这个时,我想要显示它们所属的组的名称而不是group_id.在循环中,我可以使用group_id返回的组来获取每个组,但这似乎是错误的方法.这是一个join应该使用声明的情况吗?我应该使用哪种类型的连接以及如何使用它?
我目前正在使用cast熔化的表来计算ID变量ID1(行名称)和ID2(列标题)组合中每个值的总和,以及每行使用的总计margins="grand_col".
c <- cast(m, ID1 ~ ID2, sum, margins="grand_col")
ID1 ID2a ID2b ID2c ID2d ID2e (all)
1 ID1a 6459695 885473 648019 453613 1777308 10224108
2 ID1b 7263529 1411355 587785 612730 2458672 12334071
3 ID1c 7740364 1253524 682977 886897 3559283 14123045
Run Code Online (Sandbox Code Playgroud)
到目前为止,所以R-like.
然后我将每个单元格除以其行总数以获得总数的百分比.
c[,2:6]<-c[,2:6] / c[,7]
Run Code Online (Sandbox Code Playgroud)
这看起来像kludgy.我应该做些什么cast或者可能在plyr第一个命令中处理保证金计算的百分比?
谢谢,马特
我需要的是一个方法,可以在一个条件后返回一个类型(没有对象,导致不允许转换).这是一个例子:
??? right (string fullStr, int endPosition)
{
string tmpStr = "";
tmpStr = fullStr.Substring(endPosition);
if(tmpStr.Length == 1)
return tmpStr[0]; //return a char!!
else
return tmpStr; //return a string!!
}
Run Code Online (Sandbox Code Playgroud)
我尝试了泛型,但我只能返回进入的类型,(如果返回了char中的char,并且返回了字符串中的字符串).我试过这个:
public static T right<T>(T stringToCheck, int endPosition)
{
if (typeof(T).ToString() == "System.String")
{
string fullString = (string)((object)stringToCheck);
string response = "";
response = fullString.Substring(endPosition);
if (response.Length == 1)
{
return (T)((object)response[0]);
}
else
return (T)((object)response);
}
return stringToCheck;
}
Run Code Online (Sandbox Code Playgroud)
我不能使用类型转换(返回一个对象),不能使用ref params.
对方法的调用必须保持不变:
right(stringOrChar,int) -> returns string or char.
Run Code Online (Sandbox Code Playgroud)
谢谢
我有一个客户端服务器应用程序,服务器使用nhibernate.我想知道如何使用会话?每次通话?每个客户?单?
另一种方式?
以及如何将会话缓存保留在服务器中?而且我想知道会话是否是线程安全的?
我想调用一个函数,作为参数a string和a Int32.这string只是一个文字,Int32应该是一个field.所以我认为应该是这样的:
.method public hidebysig instance string TestVoid() cil managed
{
.maxstack 1
.locals init (
[0] string CS$1$0000)
L_0000: nop
L_0001: ldstr "myString"
L_0006: ldfld int32 FirstNamespace.FirstClass::ByteField
L_000b: call string [Class1]Class1.TestClass::Functie<int32>(string, int32)
L_0010: ret
}
Run Code Online (Sandbox Code Playgroud)
但这会引发错误,即这不是有效的代码.添加时
ldarg.0
Run Code Online (Sandbox Code Playgroud)
在ldfld它运行之前就好了.为什么会这样,这会让我在拥有更多领域时遇到麻烦?
c# ×3
.net ×1
asp.net ×1
asp.net-ajax ×1
asp.net-mvc ×1
cil ×1
dereference ×1
dynamic ×1
field ×1
haskell ×1
join ×1
json ×1
mysql ×1
nhibernate ×1
nsarray ×1
nullable ×1
objective-c ×1
pointers ×1
python ×1
qt ×1
r ×1
return-type ×1
sql ×1
web-services ×1