我有一个名为'optionlist'的列表,它可能会每天更改长度,但我希望tkinter下拉框能够从中选择一些东西.
以下是如何定义tkinter选项菜单的示例:
opt1 = OptionMenu(root, var1, 'A', 'B', 'C')
Run Code Online (Sandbox Code Playgroud)
A,B和C是您可以选择的选项.这里提出的问题是,虽然OptionMenu是灵活的,并且允许任意多个选项,但您必须确切地知道编写代码时的数量.这不是列表或传递的元组.
我想知道是否有人知道任何功夫,所以我不必这样做:
if len(optionlist) == 1:
opt1 = OptionMenu(root, var1, optionlist[0])
if len(optionlist) == 2:
opt1 = OptionMenu(root, var1, optionlist[0], optionlist[1])
etc, etc, etc
Run Code Online (Sandbox Code Playgroud)
我知道你可以定义这样的列表:
elements = [client.get('element') for client in clientlist]
Run Code Online (Sandbox Code Playgroud)
我希望在传递给方法时也可以做类似的事情.
我网站上的用户可以发布新闻.但就目前而言,就HTML而言,它都是荣誉系统.
function postNewsItem($subject, $body, $userid){
$time = time();
$subject = mysql_real_escape_string($subject);
$body = mysql_real_escape_string($body);
$q = "INSERT INTO news (subject, body, userid) VALUES ('$subject', '$body', '$userid')";
$result = mysql_query($q, $this->connection);
return 1;
}
Run Code Online (Sandbox Code Playgroud)
我希望用户能够链接到图像,构建表格,加粗他们的文字等,但我不希望他们能够链接到恶意脚本和什么不是.我知道有一些方法可以从用户输入中转义HTML,但有没有办法在允许某些标签的同时执行此操作?
可能重复:
在运行时获取python.exe路径
我有一个python应用程序,通过显式调用C:\ python25\python.exe启动其他应用程序,但如果用户安装了2.6或者将它安装到另一个位置,则这不起作用.exe的%PYTHON%变量,但这仅适用于安装Python的用户(其他用户没有此envvar集).
还有另一种查找此位置的方法吗?
我有一个DLL放在一起,由许多应用程序使用.他们在我的开发机器上编译和运行得很好.但是,如果我尝试部署它们,当我尝试运行它时,我只是从Windows获得标准的"你的应用程序崩溃"消息.我想,因为他们是.NET,我可以安装Visual Studio并查看异常是什么.但是一旦我安装Visual Studio,一切正常!我试图识别VS安装并尝试复制它的任何东西(比如某些版本的.NET框架),但是直到安装了visual studio本身之后仍然没有任何工作.我当然不能要求人们安装visual studio来使用我的应用程序.我能做什么?
我有一个java applet,用于查询Oracle数据库中的数据.从IDE内部运行时,它运行正常.但是当我将它作为嵌入在网页中的applet运行时,我在类加载器中遇到了"访问被拒绝"错误,而且我没有最模糊的概念,它对我的要求是什么:
Sep 06, 2011 12:58:48 PM oracle.jdbc.driver.OracleDriver registerMBeans
WARNING: Error while registering Oracle JDBC Diagnosability MBean.
java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "getClassLoader")
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.Thread.getContextClassLoader(Unknown Source)
at oracle.jdbc.driver.ClassRef.<init>(ClassRef.java:75)
at oracle.jdbc.driver.ClassRef.newInstance(ClassRef.java:51)
at oracle.jdbc.driver.OracleDriver.registerMBeans(OracleDriver.java:311)
at oracle.jdbc.driver.OracleDriver$1.run(OracleDriver.java:199)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.jdbc.driver.OracleDriver.<clinit>(OracleDriver.java:195)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.binderton.oracle.ConnectionManager.open(ConnectionManager.java:17)
at com.sun.javafx.applet.FXApplet2$2.run(Unknown Source)
at com.sun.javafx.application.PlatformImpl$3.run(Unknown Source)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.access$100(Unknown Source)
at com.sun.glass.ui.win.WinApplication$1$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
java.lang.ExceptionInInitializerError
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source) …Run Code Online (Sandbox Code Playgroud) 我有一个Objectnamed handler和一个Classnamed 实例protocolInterface.我想知道是否有handler工具protocolInterface.据我所知,如果不诉诸反思,这是不可能的.
if (handler instanceof protoInterface.getClass())
Run Code Online (Sandbox Code Playgroud)
导致一系列解析错误,')' expected illegal start of expression等等.所以我想我会尝试这个isInstance()方法,但由于handler它是类型Object,它调用的Object是IsInstance(),它本身没有任何知识.所以即使在handler实现时protocolInteface,它也会返回false.
我该怎么调和呢?处理这两种方式似乎是相互排斥的.