我有一个tablelayoutpanel.2x2 - 2列2行.
例如,我在第1行第二列中添加了一个按钮button1.button1的dock属性设置为Fill.VS Designer允许设置button1的列/行范围属性.
我希望可用性以编程方式更改button1的 行跨度属性,因此它可以填充所有第二列(1行和第2行)和可用性以将其设置回来.
怎么样?
是否可以将Tkinter中的按钮网格放在另一个框架内?
我想创建一个类似于tic-tac-toe的游戏,并希望使用网格功能来放置gamesquares(这将是按钮).但是,除了游戏板之外,我还想在GUI中使用其他东西,因此在一个网格中放置所有东西并不理想.
为了显示:
O | X | X |
---------- |
O | O | X | Player 2 wins!
---------- |
X | O | X |
Run Code Online (Sandbox Code Playgroud)
tic tac toe board在一个由所有按钮组成的网格中,'player 2 wins'是一个框架内的标签.
这是对我正在尝试做的过度简化,所以请耐心等待,因为到目前为止我设计程序的方式(电路板是动态创建的),网格最有意义.
编辑:有一个想法,但当我运行它,没有任何反应?如果我取出帧位,它会.有任何想法吗?
from Tkinter import *
root = Tk()
b = Button(root, text = "1")
b.grid(row=1, column=3)
b2 = Button(root, text = "2")
b2.grid(row=1, column=4)
f = Frame(root, bg = "red")
f.pack(side=RIGHT)
root.mainloop()
Run Code Online (Sandbox Code Playgroud) 我们曾经接受过一位非常有经验的C++开发人员的采访,他无法回答以下问题:是否有必要从C++中的派生类析构函数中调用基类析构函数?
显然答案是否定的,C++无论如何都会自动调用基类析构函数.但是如果我们试图打电话呢?正如我所看到的,结果将取决于是否可以在不调用错误行为的情况下调用基类析构函数两次.
例如,在这种情况下:
class BaseSafe {
public:
~BaseSafe()
{
}
private:
int data;
};
class DerivedSafe {
public:
~DerivedSafe()
{
BaseSafe::~BaseSafe();
}
};
Run Code Online (Sandbox Code Playgroud)
一切都会好的 - BaseSafe析构函数可以安全地调用两次,程序将运行正常.
但在这种情况下:
class BaseUnsafe {
public:
BaseUnsafe()
{
buffer = new char[100];
}
~BaseUnsafe ()
{
delete[] buffer;
}
private:
char* buffer;
};
class DerivedUnsafe {
public:
~DerivedUnsafe ()
{
BaseUnsafe::~BaseUnsafe();
}
};
Run Code Online (Sandbox Code Playgroud)
explicic调用将运行正常,但是对析构函数的隐式(自动)调用将触发双删除和未定义的行为.
看起来在第二种情况下很容易避免使用UB.之后只需设置buffer为空指针delete[].
但这会有帮助吗?我的意思是析构函数只能在完全构造的对象上运行一次,因此优化器可以决定设置buffer为空指针是没有意义的,并且消除了使程序暴露双重删除的代码.
编译器是否允许这样做?
在我的一个班级中有一个public static String成员,我需要在中设置这个值 applicationContext.xml!也就是说,我们可以为这个静态属性注入一个值吗?
我试图让一个popover出现在地图工具包注释点但是在注释视图属性中找不到"rect"来使用调用uipopovercontroller的rect方法.如果在地图套件上给出注释,如何找到合适的"框架"?
为了给保罗提供更多信息,这是我的尝试:我已经使用过:
- (void)mapView:(MKMapView *)mapView2 annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control{
NSLog(@"annotationView...");
MyGizmoClass *myGizmoClass= [MyGizmoClass sharedManager];
int choice = 0;
for (NSMutableDictionary *locationDictionary in [myGizmoClass searchResultsForResortLocation])
{
if([view.annotation.title isEqualToString:[locationDictionary objectForKey:@"name"]])
{
DetailViewTableStyleController *controller = [[DetailViewTableStyleController alloc] initWithlocationData:[[myGizmoClass searchResultsForResortLocation] objectAtIndex:choice] nibName:@"DetailViewTableStyle" bundle:[NSBundle mainBundle]];
controller.categoryCode = [locationDictionary objectForKey:@"category_code"] ;
//create a popover controller
popoverControllerDetail = [[UIPopoverController alloc] initWithContentViewController:controller];
// set contentsize
[popoverControllerDetail setPopoverContentSize:CGSizeMake(320,480)];
//present the popover view non-modal
[popoverControllerDetail presentPopoverFromRect:view.rightCalloutAccessoryView.frame inView:mapView2 permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
[controller release];
break;
}
choice = choice + 1;
}
} …Run Code Online (Sandbox Code Playgroud) 对于读取1-2K左右的文件,glob()和opendir()之间哪个更快?
我尝试按照此引用,现在这是我的域代码:
class SnbrActVector {
long nid
String term
double weight
static mapping = {
version false
nid index:'Nid_Idx'
}
static constraints = {
term(blank:false)
}
}
Run Code Online (Sandbox Code Playgroud)
我想要做的是为nid列添加索引键.我删除了现有的表并再次运行应用程序,然后重新创建表.然而,当我检查索引列表中,我看不到的Nid_Idx,只有PRIMARY.我是否必须手动创建索引并Nid_idx在我的mysql数据库中命名?
我无法打开元数据网址http://localhost:8082/Tasks/mex,即使我在配置文件中添加了mexHttpBinding.我可以在浏览器中查看此MEX端点吗?
配置文件如下所示:
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
Run Code Online (Sandbox Code Playgroud)
问题: