Label小部件不进行换行.Message小部件将换行文本,但强制它大致为方形.这是一个例子.
from Tkinter import *
root = Tk()
root.title("hello")
Message(root, text=48*'xxxxx ').grid(row=0, column=0, columnspan=3)
Label(root, text='Name:').grid(row=1, column=0)
Entry(root, width=50).grid(row=1, column=1)
Button(root, text="?").grid(row=1, column=2)
Button(root, text="Left").grid(row=2, column=0)
Button(root, text="Center").grid(row=2, column=1)
Button(root, text="Right").grid(row=2, column=2)
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
我知道我可以用它aspect=700来改变形状,但硬编码这样的数字就是我想要避免的.
我正在更新一些旧代码,并在工具栏中腾出更多空间,我正在将按钮从测试转换为图像.loadView中新旧代码的示例如下:
// New code, doesn't work.
UIButton *toggleKeyboardBtn = [UIButton buttonWithType:UIButtonTypeCustom];
toggleKeyboardBtn.bounds = CGRectMake( 0, 0, showKeyboardImage.size.width, showKeyboardImage.size.height );
[toggleKeyboardBtn setImage:showKeyboardImage forState:UIControlStateNormal];
UIBarButtonItem *toggleKeyboardItem = [[UIBarButtonItem alloc] initWithCustomView:toggleKeyboardBtn];
[toggleKeyboardItem setTarget:self];
[toggleKeyboardItem setAction:@selector(toggleKeyboard:)];
// Original code, works jut fine.
UIBarButtonItem *setupItem = [[[UIBarButtonItem alloc] initWithTitle:@"Setup" style:UIBarButtonItemStyleBordered target:[UIApplication sharedApplication].delegate action:@selector(showSetupView:)] autorelease];
Run Code Online (Sandbox Code Playgroud)
我的新代码是从无法在UIBarButtonItem上设置动作复制的,而且我很确定我没有犯错,因为我的文本按钮工作得很好.
showSetupView()在我的AppController.m文件中,当按下按钮时,设置屏幕出现并消失.
toggleKeyboard(),OTOH,与loadView()例程在同一个文件中,目前包含以下代码:
//- (void)toggleKeyboard {
- (IBAction)toggleKeyboard:(id)sender {
NSLog(@"Entering toggleKeyboard()...");
hiddenKeyboard = !hiddenKeyboard;
[self prepareToolbarsAndStatusbar];
}
Run Code Online (Sandbox Code Playgroud)
不用说,虽然我看到按钮动画,但我从未看到过NSLog消息.最后一次观察是偶然发现的.将setAction选择器更改为:
[toggleKeyboardItem setAction:@selector(noSuchRoutine:)];
Run Code Online (Sandbox Code Playgroud)
干净地编译,可能表示我的例行名称由于某种原因被忽略.
有人有主意吗?谢谢.
Python文档说类的元类可以是任何可调用的.我看到的所有例子都使用了一个类.为什么不使用功能?它是可调用的,定义相当简单.但它不起作用,我不明白为什么.
这是我的代码:
class Foo(object):
def __metaclass__(name, base, dict):
print('inside __metaclass__(%r, ...)' % name)
return type(name, base, dict)
print(Foo.__metaclass__)
class Bar(Foo):
pass
print(Bar.__metaclass__)
Run Code Online (Sandbox Code Playgroud)
这是输出:
inside __metaclass__('Foo', ...)
<unbound method Foo.__metaclass__>
<unbound method Bar.__metaclass__>
Run Code Online (Sandbox Code Playgroud)
为父类和子类定义了元类方法.为什么只为父母打电话?(是的,我尝试使用类方法和静态方法装饰我的元类,既没有工作的.是的,这似乎是一个DUP 元类不会被调用子类中的,但他们是一类,而不是功能,作为元类).
我的客户有一个 VB6 程序安装在世界各地的大量计算机上。现在它需要通过 REST API 访问外部系统。我在 VB.Net 中创建了一个针对 .NET Framework 4 的类库。(这是随处安装的最新版本。)该 DLL 公开了大约十几个公共函数和子例程,以及大约 40 个属性。我使用以下 PowerShell 代码测试了 DLL:
[System.Reflection.Assembly]::LoadFile( "$directorypath\Debug\MyExample.dll")
$quotaInstance = new-object MyExample.ComClass1
Run Code Online (Sandbox Code Playgroud)
所有方法和属性都可以从 PS 脚本访问。然而,当我将 DLL 加载到 VB6 IDE 中时,对象浏览器仅显示方法,而不显示属性。如果我无法弄清楚这一点,我将不得不将它们重新编码为一堆函数和子例程。我讨厌这个想法。
问题How to makepropertiesvisible to COM in a .NET DLL (Methods DO work)看起来很相似,但我没有(明确地,见下文)使用接口,而且我不确定这个问题是否得到了回答。
有谁知道发生了什么事,以及(更重要的是)如何解决它?谢谢!
更新:人们要求查看我的代码,所以这里是一个简化的示例。我从 InterfaceId 猜测 Visual Studio Community 2017 正在为我创建某种界面。
<ComClass(Example.ClassId, Example.InterfaceId, Example.EventsId)>
Public Class Example
#Region "COM GUIDs"
' These GUIDs provide the COM identity for this class
' and its COM interfaces. …Run Code Online (Sandbox Code Playgroud) 我有两个 Tomcat 服务器,具有不同的“cacerts”文件。一方面,运行“keytool -list -keystore cacerts”表示我的密钥库包含 95 个条目,另一方面,它显示 96 个条目。我尝试保存列表输出并对它们运行 diff,但证书的顺序似乎不同。在我写东西之前,是否有一个智能实用程序可以告诉我文件之间的差异?谢谢!
我有一个正则表列表,我想从中提取那些相当于字符串比较的正则表达式.
例如,那些正则表达式相当于一个简单的字符串比较:
[r"example", # No metacharacters
r"foo\.bar"] # . is not a metacharacter because it is escaped
Run Code Online (Sandbox Code Playgroud)
而那些正则表达式不是:
[r"e.ample", # . is a metacharacter
r"foo\\.bar"] # . is a metacharacter because it is not escaped
Run Code Online (Sandbox Code Playgroud)
根据https://docs.python.org/2/howto/regex.html,有效元字符列表是. ^ $ * + ? { } [ ] \ | ( ).
我即将构建一个正则表达式,但它看起来有点复杂.我想通过检查re对象或其他东西是否有快捷方式.
我有一个包含以下命令的shell脚本:
/usr/local/bin/ssh -q -i /.ssh/id_rsa -l oracle \
-o UserKnownHostsFile=/dev/null \
-o StrictHostKeyChecking=no \
-o PasswordAuthentication=no \
${REMOTE_HOST} ${REMOTE_CMD}
Run Code Online (Sandbox Code Playgroud)
StrictHostKeyChecking = no避免提示是否无法识别远程主机,而PasswordAuthentication = no则避免在私钥未知时提示输入密码.但是,如果有人不小心为私钥设置了密码,我仍然会收到"输入密钥密码"的提示.这可能导致脚本在等待响应时挂起,这是一件坏事.有没有办法避免提示并立即退出?
我有一个静态数据表,通过initial_data.json加载.管理界面显然显示通过降序pk排序的数据; 即具有最大pk的记录位于列表的顶部.我想颠倒这一点,理想情况是使用pk值.由于它是静态数据,我可以为排序顺序添加另一列,但这实际上会复制pk值,或者我可以在生成fixture文件时使用"pk = len(data)-i"而不是"pk" =我"我正在使用.但实际上,我想说的是这样的话:
class DataAdmin(admin.ModelAdmin):
ordering = ('row_id',)
Run Code Online (Sandbox Code Playgroud)
我尝试过使用'row_id','id'和'pk',但没有成功.有没有人有任何想法,我去潜水源?谢谢!
我确定我错过了一些明显的东西,但现在它是:
@app.route(PREFIX + '/<table>/<int:index>', methods = ['DELETE'])
def delete_row(table, index=None):
if table not in can_delete:
abort(404)
try:
del database[table][index]
except:
abort(404)
print('returning')
Run Code Online (Sandbox Code Playgroud)
以下是运行它的结果:
* Running on http://127.0.0.1:8080/ (Press CTRL+C to quit)
returning
127.0.0.1 - - [13/Feb/2015 11:28:44] "DELETE /api/json/types/ig-folders/1 HTTP/1.1" 500 -
127.0.0.1 - - [13/Feb/2015 11:29:01] "DELETE /api/json/types/ig-folders/99 HTTP/1.1" 404 -
127.0.0.1 - - [13/Feb/2015 11:28:35] "DELETE /api/json/types/invalid/1 HTTP/1.1" 404 -
Run Code Online (Sandbox Code Playgroud)
我的GET处理程序工作正常,DELETE处理程序工作正常,除了讨厌的500错误.问题是我没有回复任何价值观吗?我的印象是DELETE应该只返回一个状态,而不是数据.