问题列表 - 第22802页

跨平台的GUI语言/工具包

我正在尝试编写一个跨平台的GUI应用程序,该应用程序将部署到Windows,Mac OS X和Linux.我的要求是:

  1. 所有三个部署平台的单一代码库,没有大量条件逻辑来处理平台之间的差异.
  2. 在所有三个平台上看起来尽可能接近"原生".
  3. 容易分派到所有三个平台,在这个意义上,它可以被终端用户方便地安装,并且不极端膨胀苦(如在讨论这个ArsTechnica文章.)

基于这些要求,我将工具包的选择范围缩小到了Qt和wxWidgets,因为我所知道的其他工具包(包括Java的Swing和SWT,Flex,AIR等)都没有满足"本机外观"的要求.需求.在这两个最终竞争者中,Qt似乎为我在所有三个部署平台上看起来和感觉都是原生的应用程序提供了更好的支持,但我愿意考虑相反的意见.

我宁愿不使用C++作为实现语言,但我不确定是否有任何实际的替代方案.我最担心的是使用C++以外的实现语言是部署问题.正如Ars Technica文章中所讨论,PyQt在任何实际意义上都不符合"简单部署"的要求,我怀疑Qt的大多数其他语言绑定都会遇到相同的部署问题(至少在Mac OS X上). (或Scala)与QtJambi?QtRuby?wxPython?

有没有人知道满足上述三个要求的语言和工具包的任何组合?

user-interface desktop qt wxwidgets cross-platform

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

git add除1个文件夹外

我不想提交projectname.project文件夹.现在,我就这样使用

git add .
...

...
git push orign master
Run Code Online (Sandbox Code Playgroud)

我不想提交projectname.project文件夹.当我使用

git rm -r projectname.project
Run Code Online (Sandbox Code Playgroud)

git删除我的计算机中的projectname.project,我需要再次创建一个项目.

git

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

Python:多次创建一个小列表有多贵?

我在Python中一遍又一遍地遇到以下小烦恼的困境:

选项1:

如果多次调用,因为为每次调用do_something()重新创建a_list,所以更干净但更慢(?)

def do_something():    
  a_list = ["any", "think", "whatever"]    
  # read something from a_list
Run Code Online (Sandbox Code Playgroud)

选项2:

更丑但更有效率(重新创建a_list创建)

a_list = ["any", "think", "whatever"]    
def do_something():    
  # read something from a_list
Run Code Online (Sandbox Code Playgroud)

你怎么看?

python

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

通过Rails中的assert_routing测试具有主机约束的路由

我有一个路由,我正在使用约束来检查主机,然后是一个基本相同但没有主机限制的路由(这些实际上是命名空间,但为了简单起见,这个例子将会这样做):

 match "/(:page_key)" => "namespace_one/pages#show", :constraints => proc {|env| env['SERVER_NAME'] == 'test.mysite.local' }

 match "/(:page_key)" => "namespace_two/pages#show"
Run Code Online (Sandbox Code Playgroud)

当通过浏览器访问时以及在定义主机和执行get "/page_key"等时的集成测试中,这些工作完全符合预期.

但是我想编写确保这些路由到目前为止工作的测试我没有太多运气,因为下面的测试(目前ActionController::IntegrationTest我可以设置主机)匹配没有约束的测试:

assert_routing '', { :controller => 'namespace_one/pages', :action => 'show' }
=> The recognized options <{"action"=>"show", "controller"=>"frontend/pages"}> 
   did not match <{"action"=>"show", "controller"=>"namespace_two/pages"}>, 
   difference: <{"controller"=>"namespace_one/pages"}>
Run Code Online (Sandbox Code Playgroud)

如果我尝试在限制proc中转储env,我得到的就是--- :controller.

如果我摆脱assert_routing只是做一个get :show调用并转储@controller它确实解析到正确的控制器(正如预期的那样,这些路由都可以通过HTTP请求正常工作).

routing unit-testing ruby-on-rails testunit ruby-on-rails-3

4
推荐指数
1
解决办法
1571
查看次数

memory_get_usage

我正在制作一个基准测试类来显示页面加载时间和内存使用情况.加载时间已经有效,但是当我显示内存使用情况时,它不会改变示例:

$conns = array();
ob_start();
benchmark::start();
$conns[] = mysql_connect('localhost', 'root', '');
benchmark::stop();
ob_flush();
Run Code Online (Sandbox Code Playgroud)

使用相同的内存

$conns = array();
ob_start();
benchmark::start();
for($i = 0; $i < 1000; $i++)
{
   $conns[] = mysql_connect('localhost', 'root', '');
}
benchmark::stop();
ob_flush();
Run Code Online (Sandbox Code Playgroud)

我正在使用memory_get_usage(true)来获取以字节为单位的内存使用量.

php memory memory-management

5
推荐指数
2
解决办法
3184
查看次数

如何将数字转换为小时和分钟?

前几天我得到了正确计算的帮助,但是我已经遇到了关于如何将它实现到代码中的问题.

-(IBAction)done:(id)sender {
  int result = (([startHours.text intValue] * 60) + [startMinutes.text intValue]) - 
  (([finishHours.text intValue] * 60) + [finishMinutes.text intValue]);
  totalHours.text = [NSString stringWithFormat:@"%i", result / 60];
  if (result < 0) { 
    totalHours.text = [NSString stringWithFormat:@"%d", result * -1];
  }
Run Code Online (Sandbox Code Playgroud)

以上是代码.但是,在文本字段中,它以总分钟数表示.我想隐蔽它,所以它会显示为总小时和分钟(10.30).我怎么在代码中这样做?

iphone time

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

如何在Google日历中创建"recurData"?

我想使用Google API创建日历的重复事件.我关注链接:

  1. Google Calendar API

    我没有得到如何创建"recurData".我无法修改String并将其作为参数传递. 尝试过DDay.iCal版本0.80.也.

  2. DDay.iCal

给出了一些示例代码.我尝试了它们.我能够创建".ics"文件.

但是,当我将此文件内容作为"recurData"传递时

出错:{"执行请求失败:http://www.google.com/calendar/feeds/user@domain.com/private/full? gsessionid = AHItK5wrSIoJVawFjGt- 0g "}

我的icf文件内容是:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//DDay.iCal//NONSGML ddaysoftware.com//EN
BEGIN:VEVENT
CREATED:20100309T132930Z
DESCRIPTION:The event description
DTEND:20100310T020000
DTSTAMP:20100309T132930Z
DTSTART:20100309T080000
LOCATION:Event location
SEQUENCE:0
SUMMARY:18 hour event summary
UID:396c6b22-277f-4496-bbe1-d3692dc1b223
END:VEVENT
BEGIN:VEVENT
CREATED:20100309T132930Z
DTEND;VALUE=DATE:20100315
DTSTAMP:20100309T132930Z
DTSTART;VALUE=DATE:20100314
SEQUENCE:0
SUMMARY:All-day event
UID:ac25cdaf-4e95-49ad-a770-f04f3afc1a2f
END:VEVENT
END:VCALENDAR
Run Code Online (Sandbox Code Playgroud)

我用"Example6"制作了它.

c# icalendar google-calendar-api

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

防止log4net通过SMTP发送重复的问题

我们使用SMTP将我们的log4net与Jira连接起来.

现在我们担心,由于网站是公开的,如果我们在生产环境中遇到很多问题,Jira服务器会发生什么.

我们已经对Critical和Fatal进行了过滤,但是我们希望在log4net上看到一些累加器服务,或者在普通过滤器上查看重复问题并阻止它们通过电子邮件发送.最好不必更改错误报告代码,因此配置解决方案最好.

我想将日志转储到数据库然后创建一个单独的监听器,一些智能代码将是一个(pricy)替代品.

asp.net log4net jira

13
推荐指数
1
解决办法
2871
查看次数

Django:我如何使用md5密码列实现低级别登录,因为我从旧站点移植了我的用户表?

基本上,我现在有login/urls.py重定向到django.contrib.auth.views.login这似乎迎刃而解.

但是我正在移植来自遗留mysql/php网站的密码,我相信我应该根据http://docs.djangoproject.com/en/dev/topics/auth/#storing-additional-information创建一个新的模型配置文件.- 关于用户.这个新的模型/表将具有旧的md5密码列,我将把用户名移植到主用户表.

如何更改登录方法,以便我首先检查用户是否在auth_user表中有密码,如果没有,则md5 POST password字段并尝试将其与我的新配置文件密码列匹配,如果是,则将密码保存在新的auth_user表格由SHA1加密,就像管理员一样吗?

django django-authentication

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

一些坚实的OOP批评?

我想请你向我提供一些文章(也许是书籍),你可能已经发现这些文章非常有说服力地批评了OOP方法.

我在WWW上读过一些关于这个主题的内容,但我并没有真正找到一个"明确的消极因素".

我对OOP的个人态度并不多,但我真的希望为任何讨论和抽象思维提供建设性,严谨的基础.


您也可以发布一些原创研究,但请非常有建设性(根据我的个人要求).

oop modularity lazy-evaluation

23
推荐指数
3
解决办法
7704
查看次数