问题列表 - 第21698页

tkinter:指定按下按钮时调用的函数的参数

button1 = tkinter.Button(frame, text="Say hi", command=print)
button2 = tkinter.Button(frame, text="foo", command=print)
button3 = tkinter.Button(frame, text="bar", command=print)
Run Code Online (Sandbox Code Playgroud)

你可能已经发现了程序中的漏洞:print无法指定参数.这使得整个事情变得毫无用处和错误.显然,有类似的东西

command=print("foo")
Run Code Online (Sandbox Code Playgroud)

将在实际实例化对象时调用该函数,并command生成该函数调用的返回值(如果有).(不是我想要的)

那么,如何在上述场景中指定参数,并避免command为每个按钮定义单独的函数?

python arguments tkinter

2
推荐指数
1
解决办法
2264
查看次数

在每个第n个字符处拆分一个字符串

在JavaScript中,我们可以在每个第3个字符处拆分字符串

"foobarspam".match(/.{1,3}/g)
Run Code Online (Sandbox Code Playgroud)

我试图弄清楚如何在Java中这样做.有什么指针吗?

java regex string split

69
推荐指数
4
解决办法
8万
查看次数

动态获取应用程序的可用语言

是否可以动态查找应用程序支持的语言?例如,我有以下语言的字符串:英语,法语,荷兰语和德语.它们在相应的res目录中定义:values values-fr,values-nlvalues-de.我想让用户可以在它们之间进行选择,为此我想加载它们.但我不想硬编码选择.我试着用:

getApplication().getResources().getAssets().getLocales()
Run Code Online (Sandbox Code Playgroud)

但是此方法返回手机支持的所有语言环境.

你还有其他想法吗?

string resources android locale

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

Iphone - 如何将参数传递给animationDidStop?

我有这个方法......

- (void) helloThere: (int) myValue {

  // I am trying to pass myValue to animationDidStop
  [UIView beginAnimations:nil context:[NSNumber numberWithInt: myValue]];
  [UIView setAnimationDuration:1.0];
  [UIView setAnimationDidStopSelector:@selector(animationDidStop:finished:context:)];
  [UIView setAnimationDelegate:self];

  // do stuff

  [UIView commitAnimations];
}
Run Code Online (Sandbox Code Playgroud)

然后我试图在animationDidStop上检索myValue ...

- (void)animationDidStop:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context {

  int retrievedValue = (int)context; //??? not giving me the right number

}
Run Code Online (Sandbox Code Playgroud)

但retrieveValue给了我一个与原始myValue无关的数字......

如何检索该号码?

谢谢你的帮助.

iphone iphone-sdk-3.0

0
推荐指数
1
解决办法
4802
查看次数

将主键从Nonclustered更改为Clustered

假设我有一个SQL Server 2005表TableX,上面有2个索引:

字段B上的
Field_TIX_TableX_FieldB = CLUSTERED上的PK_TableX = PRIMARY KEY NONCLUSTERED

我想将PK切换为CLUSTERED,将另一个索引切换为NONCLUSTERED.

我必须假设数据库将在我尝试更改索引时使用 - 因此我想要避免的主要问题是,在该过程中的某个时刻,PK约束将不存在于表中.我想要保护免受任何插入重复键的风险.

即我不能只删除主键并重新创建它.

此过程需要通过SQL脚本完成,而不是通过SSMS完成.

我有一种方法,我认为它会起作用(我会把它作为一个潜在的答案发布),但是如果我错过了某些东西或者有另一种/更好的方法,我想打开它.此外,它可能在将来对其他人有用

sql sql-server indexing sql-server-2005

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

运行时JDBC程序中的MySQLNonTransientConnectionException

我在Java中有一个JDBC MySQL连接.我的程序适用于简单的查询执行.

如果我运行相同的程序超过10个小时并执行查询,那么我收到以下MySQL异常:

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: 
Connection.close() has already been called. Invalid operation in 
this state.
  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(
  Native Method)
  com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:
  No operations allowed after statement closed.
  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(
  Native Method)
Run Code Online (Sandbox Code Playgroud)

我没有close()在任何地方使用过方法.我创建了数据库连接并永远打开它并始终执行查询.我没有明确提到连接超时的地方.我无法确定问题所在.

这是我用于数据库连接的代码:

 String driver = PropertyReader.getDriver();
 String url = dbURLPath;
 Class.forName(driver);
 connectToServerDB = DriverManager.getConnection(url);
 connectToServerDB.setAutoCommit(false);
Run Code Online (Sandbox Code Playgroud)

是什么导致了这种例外

java mysql jdbc

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

存在Windows注册表的替代方法来存储软件配置设置

我有一个C ++ MFC应用程序,它将其所有系统范围的配置设置存储到注册表中。以前,我们使用.INI文件,并在几年前改为使用注册表

SetRegistryKey("MyCompanyName");
Run Code Online (Sandbox Code Playgroud)

现在,我们很难获得从PC和Windows版本迁移到另一个版本的用户的定期支持电话,而我得出的结论是,使用注册表会导致更多的问题而不是解决的问题。我也不想返回.INI文件,因为我想存储每个用户的设置,因此计划是编写自己的GetProfile ...和SetProfile ...函数版本,以便与数据库。是否有人已经这样做了,并且有人知道不需要过多修改代码即可替换注册表的现有替换库吗?理想情况下,我还希望它具有从注册表中读取初始值以支持现有用户的选项。

c++ registry mfc

6
推荐指数
2
解决办法
2751
查看次数

List <T> .ForEach与自定义IEnumerable <T>扩展名

说我有一节课:

public class MyClass
{
   ...
}
Run Code Online (Sandbox Code Playgroud)

和一个返回的Web服务方法 IEnumerable<MyClass>

Web服务的使用者定义了一些方法:

public void DoSomething(MyClass myClass)
{
   ...
}
Run Code Online (Sandbox Code Playgroud)

现在,消费者可以DoSomething通过两种方式调用webservice方法的结果:

var result = // web service call

foreach(var myClass in result)
{
   DoSomething(myClass);
}
Run Code Online (Sandbox Code Playgroud)

要么:

var result = // web service call

result.ToList().ForEach(DoSomething);
Run Code Online (Sandbox Code Playgroud)

毋庸置疑,我更喜欢第二种方式,因为它更短,更具表现力(一旦你习惯了我的语法).

现在,Web服务方法只公开一个IEnumerable<MyClass>,但它实际上返回一个List<MyClass>(AFAIK)意味着实际的序列化对象仍然是一个List<T>.但是,我发现(使用反射器)Linq方法ToList()制作了所有对象的副本,IEnumerable<T>而不管实际的运行时类型(在我看来,它可能只是将参数转换为a,List<T>如果它已经是一个).

这显然有一些性能开销,特别是对于大型列表(或大型对象列表).

那么我该怎么做才能克服这个问题,为什么ForEachLinq中没有方法呢?

顺便说一句,他的问题与这个问题含糊不清.

c# linq extension-methods

4
推荐指数
2
解决办法
2745
查看次数

在AS3的输入文本字段中输入按键

当用户填写AS3中的输入文本字段时,我想要按下回车键.我想我必须做这样的事情:

    inputText.addEventListener(Event. ? , func);
    function func(e:Event):void{
       if(e. ? == "Enter"){
          doSomething();
       }
    }
Run Code Online (Sandbox Code Playgroud)

但我找不到最好的方法来做到这一点.顺便说一句,输入文本有一个限制:

inputText.restrict = "0-9";
Run Code Online (Sandbox Code Playgroud)

我应该在限制中添加回车键吗?

inputText.restrict = "0-9\n";
Run Code Online (Sandbox Code Playgroud)

提前致谢.

actionscript-3

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

在授予"用户更改"权限时,如何防止Django管理员中的权限升级?

我有一个拥有大量客户群的django网站.我想让我们的客户服务部门能够改变正常的用户帐户,做更改密码,电子邮件地址等等.但是,如果我授予某人内置auth | user | Can change user权限,他们就可以is_superuser在任何人身上设置标志.帐户,包括他们自己.(!!!)

为非超级用户员工删除此选项的最佳方法是什么?我确定它涉及子类化django.contrib.auth.forms.UserChangeForm并将其挂钩到我已经自定义的UserAdmin对象......不知何故.但我找不到任何关于如何做到这一点的文档,我还不太了解内部情况.

django permissions django-admin django-users

21
推荐指数
2
解决办法
3666
查看次数