我有一个字符串列表,并希望为每个字符串创建一个菜单项.当用户单击其中一个条目时,始终使用字符串作为参数调用相同的函数.经过一些尝试和研究,我想出了这样的事情:
import sys
from PyQt4 import QtGui, QtCore
class MainWindow(QtGui.QMainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)
self.menubar = self.menuBar()
menuitems = ["Item 1","Item 2","Item 3"]
menu = self.menubar.addMenu('&Stuff')
for item in menuitems:
entry = menu.addAction(item)
self.connect(entry,QtCore.SIGNAL('triggered()'), lambda: self.doStuff(item))
menu.addAction(entry)
print "init done"
def doStuff(self, item):
print item
app = QtGui.QApplication(sys.argv)
main = MainWindow()
main.show()
sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)
现在问题是每个菜单项将打印相同的输出:"项目3"而不是相应的输出.我很感激有关如何做到这一点的任何想法.谢谢.
有没有办法使用直接循环迭代ValueCollection?(不是foreach)
例如
Dictionary<string, List<long>>.ValueCollection somevalues = somecollection.Value.Values;
for(int i = 0; i< somevalues.Count; i++)
{
//now what?
}
Run Code Online (Sandbox Code Playgroud) 我正在开发一个大型项目(对我来说),它将有许多类,需要可扩展,但我不知道如何规划我的程序以及类需要如何交互.
我在几个学期后参加了OOD课程并从中学到了很多东西; 比如编写UML,并将需求文档翻译成对象和类.我们也学习了序列图,但不知怎的,我错过了讲座或其他什么,他们并没有真正坚持我.
在以前的项目中,我尝试过使用从课程中学到的方法,但通常最终得到的代码一旦我能说"是的,看起来像我的想法"我不想挖掘泥土添加新功能.
我有一份史蒂夫麦康奈尔的代码完整副本,我不断听到这里和其他地方都很棒.我阅读了有关设计的章节,似乎没有提供我正在寻找的信息.我知道他说这不是一个削减和干燥的过程,它主要基于启发式,但我似乎无法将他的所有信息都应用到我的项目中.
那么你在高级设计阶段(开始编程之前)做了些什么来确定你需要什么类(特别是那些不基于任何"真实世界对象"的类)以及它们如何相互作用?
具体来说,我对您使用的方法感兴趣?您遵循的流程是什么,通常会形成一个良好,干净的设计,能够代表最终产品?
有没有人能够在HTML中实现一个可滚动的表,其中TOP行和LEFT列被冻结,但表的其余部分是否可滚动?一个很好的例子是: Google Squared
我试图对谷歌平方表的代码进行逆向工程,但到目前为止我还没有成功.
注意:我需要能够同时冻结TOP ROW和LEFT COLUMN.
我在Windows Server 2003上的VS 2008中创建的Web应用程序拒绝在Windows Server 2008上的VS 2008中打开.
"Web应用程序项目'MyProjectName'配置为使用IIS.要访问本地IIS网站,必须安装以下IIS组件:IIS 6元数据库和IIS 6配置兼容性身份验证".
我想要与IIS 6无关,所以我没有安装这些组件.我想要纯粹的IIS 7.
是否有一个升级工具或我可以在项目文件中修改的内容,允许它们在visual studio中打开?
我想构建一个基本上执行以下操作的机器人:
我应该只使用python中的IRC库或套接字,还是需要更多的机器人框架.
你会怎么做?
谢谢!
这是我目前正在使用的代码,但是,我没有让它工作.
#!/usr/bin/python
import socket
network = 'holmes.freenet.net'
port = 6667
irc = socket.socket ( socket.AF_INET, socket.SOCK_STREAM )
irc.connect ( ( network, port ) )
irc.send ( 'NICK PyIRC\r\n' )
irc.send ( 'USER PyIRC PyIRC PyIRC :Python IRC\r\n' )
irc.send ( 'JOIN #pyirc\r\n' )
irc.send ( 'PRIVMSG #pyirc :Can you hear me?\r\n' )
irc.send ( 'PART #pyirc\r\n' )
irc.send ( 'QUIT\r\n' )
irc.close()
Run Code Online (Sandbox Code Playgroud) 我已经编写了一种方法来计算一组数字的给定百分位数,以便在我正在构建的应用程序中使用.通常,用户需要知道给定数字集和第75百分位数的第25百分位数.
我的方法如下:
def calculate_percentile(array,percentile)
#get number of items in array
return nil if array.empty?
#sort the array
array.sort!
#get the array length
arr_length = array.length
#multiply items in the array by the required percentile (e.g. 0.75 for 75th percentile)
#round the result up to the next whole number
#then subtract one to get the array item we need to return
arr_item = ((array.length * percentile).ceil)-1
#return the matching number from the array
return array[arr_item]
end
Run Code Online (Sandbox Code Playgroud)
这看起来提供了我期待的结果,但任何人都可以重构这个或提供一个改进的方法来返回一组数字的特定百分位数?
我想创建一个继承自HeaderedContentControl的简单控件,并具有一些名为Title,Subtitle,Icon的基本依赖项属性。我希望能够提供将这些属性数据绑定的默认标头模板。对于此示例,我已将此类命名为HeaderedView。
我在提供可以绑定到HeaderedView上定义的属性的默认标题模板时遇到了麻烦。我正在尝试如下标记:
<Style TargetType="{x:Type local:HeaderedView}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type HeaderedContentControl}">
<StackPanel>
<Grid>
<ContentPresenter ContentSource="Header"/>
</Grid>
<Grid>
<ContentPresenter ContentSource="Content"/>
</Grid>
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate>
<Grid>
<TextBlock Text="{TemplateBinding local:HeaderedView.Title}" />
</Grid>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
Run Code Online (Sandbox Code Playgroud)
不幸的是,标题没有被显示。
标头模板必须是可替换的(这就是为什么我要利用HeaderedContentControl的原因)。
每当我似乎想从该控件中继承时,我似乎都在为实现而苦恼。任何帮助将不胜感激!
在我的控制器中,我检查一个条件,看看是否允许用户做某事.如果检查失败,我想将403发送回浏览器.我怎么在Cakephp中做到这一点?
python ×2
architecture ×1
bots ×1
c# ×1
cakephp ×1
class-design ×1
html ×1
iis-6 ×1
iis-7 ×1
irc ×1
javascript ×1
oop ×1
pyqt ×1
qt ×1
registry ×1
ruby ×1
upgrade ×1
wpf ×1
wpf-controls ×1