问题列表 - 第20116页

更改urwid/python2.6中当前显示的列表框的内容

我正在用python写一个音乐播放器,用cli使用urwid.我打算将当前播放列表放在一个simpleListWalker中,由列表框包装,然后是列,一堆,最后是一个帧.

如何用其他内容替换此列表框(或simpleListWalker)的全部内容?

相关代码:

class mainDisplay(object):
...
    def renderList(self):
       songList = db.getListOfSongs()
       songDictList = [item for item in songList if item['location'] in 
       commandSh.currentPlaylists[commandSh.plyr.currentList]]
       self.currentSongWidgets = self.createList(songDictList)
       self.mainListContent = urwid.SimpleListWalker([urwid.AttrMap(w, None, 
       'reveal focus') for w in self.currentSongWidgets])
    def initFace(self):#this is the init function that creates the interface
        #on startup
        ...
        self.scanPlaylists()
        self.renderList()
        self.mainList = urwid.ListBox(self.mainListContent)
        self.columns = urwid.Columns([self.mainList, self.secondaryList])
        self.pile = urwid.Pile([self.columns, 
        ("fixed", 1, self.statusDisplayOne), 
        ("fixed", 1, self.statusDisplayTwo), 
        ("fixed", 1, self.cmdShInterface)], 3)
        self.topFrame = urwid.Frame(self.pile)
Run Code Online (Sandbox Code Playgroud)

完整代码:http://github.com/ripdog/PyPlayer/tree/cli - 检查main.py是否有接口代码.

代码目前处于非常糟糕的状态,我只编程了两个月.我们非常感谢您对代码风格,布局或任何其他提示的任何建议.

python urwid

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

Go中的getpasswd功能?

情况:

我想从stdin控制台获取密码- 而不回显用户输入的内容.是否有类似getpasswdGo的功能?

我尝试了什么:

我尝试过使用syscall.Read,但它回应了所输入的内容.

passwords stdin go getpasswd

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

在C++中从现有数组创建子数组的最佳方法是什么?

好吧,我试图从现有阵列中获取一个子数组,我只是不知道该怎么做.在我的例子中,我有一个非常大的数组,但我想从数组的最后5个元素创建一个数组.

我所谈论的一个例子是:

int array1 = {1,2,3,...99,100};
int array2[5] = array1+95;
Run Code Online (Sandbox Code Playgroud)

我知道这是不正确的,但我在纠正它时遇到了一些麻烦.我想在array1中获取元素96到100并将它们放入array2但我不想复制数组.我只想让array2从96元素开始,这样array1 [96]和array2 [0]将指向同一个位置.

c++ arrays pointers

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

如何在多个线程之间进行通信?

我正在为另一个程序编写一个插件,该程序使用本机程序打开一系列文件以从中提取一些数据.我遇到的一个问题是该过程需要很长时间,我想保持用户界面不挂.另外,我还想让用户在完成之前取消该过程.在过去,我使用后台工作者来处理这类事情,但在这种情况下,我认为BackgroundWorker不会起作用.

要通过API创建插件,我使用的可以通过继承IAPICommand接口来创建自定义命令.该接口包括Execute(应用程序app)方法.然后实例化该类,当用户在程序中唤起自定义命令时,程序将调用Execute()方法.

Execute()方法在调用时传递对当前Application对象的引用,并且该应用程序对象用于打开文件以从中提取数据.但是,应用程序实例无法在原始Execute()线程之外的线程请求时打开文档.

因此,通常UI将存在于主线程上,并且将在辅助线程上执行耗时的数据提取.但是,在这种情况下,必须在主线程上执行数据提取,并且我需要为UI创建辅助线程.

这是代码的精简版本.

class MyCommand:IAPICommand
{
    public void Execute(Application app) // method from IAPICommand
    {
        Thread threadTwo= new Thread(ShowFormMethod);
        threadTwo.Start();
    }

    public void ProcessWidget(Widget w, Application app)
    { 
        //uses an App to work some magic on C
        //app must be called from the original thread that called ExecuteCommand()
    }

    //method to open custom form on a seperatethread
    public void ShowFormMethod()
    {
      MyForm form = new MyForm();
      form.ShowDialog();  
    }
}
Run Code Online (Sandbox Code Playgroud)

这是一个流程图,显示了我认为这应该最终起作用的方式.

alt text http://dl.dropbox.com/u/113068/SOMLibThreadingDiagram.jpg

  1. 这个图表是否有意义,如果是这样,我甚至采取正确的方法来解决这个问题?
  2. 一旦主线程启动UI线程,我希望它等待用户选择要处理的小部件,或者通过关闭表单结束命令(图中的红色数字).如何使主线程等待,以及如何触发它继续处理或在UI线程结束时继续结束?我以为我可以让主线程在Monitor锁上等待.然后,UI线程将填充要处理的静态Widgets列表,然后脉冲主​​线程以触发处理.当窗体关闭时,UI线程也会激活主线程,如果要处理的窗口小部件列表为空,主线程将知道继续到命令的结尾.
  3. 如何允许主线程将窗口小部件处理的进度或完成传回UI线程(图中的黄色箭头)?我只是使用Form的BeginInvoke()方法来执行此操作吗? …

c# multithreading thread-safety winforms

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

如何在Rails应用程序中实现虚荣URL?

我希望用户能够在site.com/myNameHere上找到个人资料页面.Rails查找名为"myNameHere"的控制器.是否可以设置routes.rb,以便在找不到控制器时,"myNameHere"作为参数发送到另一个控制器?

url routes ruby-on-rails url-routing

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

如何在Wampserver上设置和运行Python?

任何人都可以帮我设置Python以在Wampserver上运行.从我到目前为止所读到的内容,你需要结合使用Wampser,Python,mod_pyhton和Apache http.conf文件进行调整.我已经尝试过但我相信我在版本方面存在冲突.有没有人知道可以工作的版本的组合,以便我可以使用我的wampserver进行一些本地python开发?非常感谢下载链接.

我当前的配置:Wampserver 2.0c => Apache版本:2.2.8,PHP版本:5.2.6,MySQL版本:5.0.51b

python apache installation mod-python wampserver

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

将十进制英尺转换为英尺和英寸?

如何将测量值从12.5英尺转换为12英尺6英尺?如何在乘以12时创建仅读取小数位的第二个数字?

现在我有两个Measurement01使用其他变量和一些数学来得到我的小数位.我用farf.setText(Measurement01 +""+"ft")将它发送到textview;

任何帮助,将不胜感激!

android decimal

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

缓冲区 - > CGImageRef-> UIImage的内存管理模式是什么?

我有一个函数,它获取一些位图数据并从中返回一个UIImage*.它看起来像这样:

UIImage * makeAnImage() 
{
    unsigned char * pixels = malloc(...);
    // ...
    CGDataProviderRef provider = CGDataProviderCreateWithData(NULL, pixels, pixelBufferSize, NULL);
    CGImageRef imageRef = CGImageCreate(..., provider, ...);
    UIImage * image =  [[UIImage alloc] initWithCGImage:imageRef];
    return [image autorelease];
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以确切地解释谁在这里拥有什么记忆?我想要正确清理,但我不确定如何安全地进行清理.文档在这些上是模糊的.如果free在创建UIImage之后我在此函数末尾的像素,然后使用UIImage,我崩溃了.如果我在创建UIImage之后释放提供者或imageRef,我没有看到崩溃,但他们显然已经完全传递了像素,所以我对释放这些中间状态感到不安.

(我知道每个CF文档我都需要在后者上调用release,因为它们来自Create函数,但是我可以在使用UIImage之前这样做吗?)大概我可以使用提供者的dealloc回调来清理像素缓冲区,还有什么?

谢谢!

iphone core-graphics core-foundation uiimage quartz-2d

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

使用派生类进行c ++模板转换

#include <vector>

struct A {int a;};
struct B : public A {char b;};

int main()
{
  B b;
  typedef std::pair<A*, A*> MyPair;
  std::vector<MyPair> v;
  v.push_back(std::make_pair(&b, &b)); //compiler error should be here(pair<B*,B*>)
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

我不明白为什么这个编译(也许有人可以提供详细的解释?它是否与名称查找相关?

顺便说一句,在Solaris上,SunStudio12它没有编译: error : formal argument x of type const std::pair<A*, A*> & in call to std::vector<std::pair<A*,A*> >::push_back(const std::pair<A*, A*> & ) is being passed std::pair<B*, B*>

c++ templates solaris derived-class

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

.NET(3.5)框架类库究竟有多大?

我经常读到这个框架太大了,一个开发人员无法体验它的每一部分.有一些实际数字肯定有助于把事情放在眼里.

MSDN似乎列出了所有这些,但没有实际的数字(从我能看到的),花费数小时计算它们并不是我对生产时间的看法.

  • 命名空间数
  • 课程数量
  • 结构数量
  • 接口数量

我意识到还有代表,枚举,事件等,但上述类型是最感兴趣的.

此外,基类库(BCL)中的类型数量以及整个框架类库(FCL)的大小将是有趣的.

这些信息有两种用途:

首先,要了解您实际使用的整体框架的数量以及您还需要学习多少.

其次,来自其他平台(和非技术人员)的许多程序员经常会惊讶于程序员可以将大部分时间花在".NET Framework"中.有一些数字肯定有助于解释为什么这不是狭隘的技能/经验的迹象.

[更新]

使用安德鲁的代码(在我的.NET 3.5 SP1系统上),我得到:

Classes: 12688
Value types: 4438
Interfaces: 1296

.net base-class-library

10
推荐指数
2
解决办法
2901
查看次数