我正在尝试使用Tkinter创建一个按钮网格(以实现可点击的单元格效果).
我的主要问题是我无法使grid按钮自动调整并适合父窗口.
例如,当我在网格上有大量按钮时,而不是缩小按钮以使网格适合窗口内部,我得到一个离开屏幕的拉伸框架.
我正在寻找的效果是网格填充所有可用空间,然后调整其单元格以适应该空间.我已阅读文档,但我仍然无法弄清楚如何使其工作.
这是基本代码,这是我的出发点:
def __init__(self):
root = Tk()
frame = Frame(root)
frame.grid()
#some widgets get added in the first 6 rows of the frame's grid
#initialize grid
grid = Frame(frame)
grid.grid(sticky=N+S+E+W, column=0, row=7, columnspan=2)
#example values
for x in range(60):
for y in range(30):
btn = Button(grid)
btn.grid(column=x, row=y)
root.mainloop()
Run Code Online (Sandbox Code Playgroud) 我想以编程方式配置wpf网格.
我希望能够设置一个包含2列的网格,第一列占用可用空间的20%,第二列占80%.在xaml中我会使用*运算符,但我无法解决如何以编程方式执行此操作.
在Xaml我会这样做:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition width="20*" />
<ColumnDefinition width="80*" />
</Grid>
Run Code Online (Sandbox Code Playgroud)
在我想要的代码中:
Grid grid = new Grid();
grid.ColumnDefinitions.Add( new ColumnDefinition(20*) );
grid.ColumnDefinitions.Add( new ColumnDefinition(80*) );
Run Code Online (Sandbox Code Playgroud)
请有人建议.
一旦将控件添加到WPF网格,有没有办法通过行和/或列索引以编程方式访问它们?有点像:
var myControl = (object)MyGrid.GetChild(int row, int column);
Run Code Online (Sandbox Code Playgroud)
... GetChild我希望我拥有的方法在哪里!
我有一个用户控件,称之为UserControl,它有一个包含以下列定义的网格:
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="A"/>
<ColumnDefinition Width="Auto" SharedSizeGroup="B"/>
<ColumnDefinition Width="*" SharedSizeGroup="C"/>
<ColumnDefinition Width="Auto" SharedSizeGroup="D"/>
<ColumnDefinition MinWidth="30" Width="*" SharedSizeGroup="E"/>
<ColumnDefinition MinWidth="30" Width="*" SharedSizeGroup="F"/>
<ColumnDefinition Width="110" SharedSizeGroup="G"/>
<ColumnDefinition MinWidth="30" Width="Auto" SharedSizeGroup="H"/>
<ColumnDefinition MinWidth="30" Width="Auto" SharedSizeGroup="I"/>
<ColumnDefinition MinWidth="30" Width="Auto" SharedSizeGroup="J"/>
<ColumnDefinition MinWidth="30" Width="Auto" SharedSizeGroup="K"/>
<ColumnDefinition MinWidth="30" Width="Auto" SharedSizeGroup="L"/>
</Grid.ColumnDefinitions>
Run Code Online (Sandbox Code Playgroud)
我还有MainWindow,它包含一个网格本身,在网格上定义了以下属性:
Grid.IsSharedSizeScope="True"
Run Code Online (Sandbox Code Playgroud)
现在,我在MainWindow的网格中添加了几个UserControl(每个都是一个单独的行).我的目标是让不同UserControls的每个列宽保持同步.除了一件事,使用SharedSizeGroup时一切正常.似乎任何宽度为*的列都不会表现得如此.看起来*列宽度设置为好像它们是Auto.
SharedSizeGroup和*大小调整是否有任何限制/问题?这似乎是保持列宽度同步的最佳方法,但我似乎无法解决这个问题.
谢谢.
我有一个自定义流布局,它正在调整单元格的属性,当它们从CollectionView中插入和删除时具有以下两个函数,但我无法弄清楚如何调整默认动画持续时间.
- (UICollectionViewLayoutAttributes *)initialLayoutAttributesForAppearingItemAtIndexPath:(NSIndexPath *)itemIndexPath {
UICollectionViewLayoutAttributes* attributes = [self layoutAttributesForItemAtIndexPath:itemIndexPath];
// Assign the new layout attributes
attributes.transform3D = CATransform3DMakeScale(0.5, 0.5, 0.5);
attributes.alpha = 0;
return attributes;
}
- (UICollectionViewLayoutAttributes *)finalLayoutAttributesForDisappearingItemAtIndexPath:(NSIndexPath *)itemIndexPath {
UICollectionViewLayoutAttributes* attributes = [self layoutAttributesForItemAtIndexPath:itemIndexPath];
// Assign the new layout attributes
attributes.transform3D = CATransform3DMakeScale(0.5, 0.5, 0.5);
attributes.alpha = 0;
return attributes;
}
Run Code Online (Sandbox Code Playgroud) 我正在创建一个WPF表单.其中一个要求是它具有基于扇区的布局,以便可以将控件明确地放置在扇区/单元之一中.
我在下面创建了一个tic-tac-toe示例来表达我的问题:
有两种类型和一种基本类型:
public class XMoveViewModel : MoveViewModel
{
}
public class OMoveViewModel : MoveViewModel
{
}
public class MoveViewModel
{
public int Row { get; set; }
public int Column { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
表单的DataContext设置为以下实例:
public class MainViewModel : ViewModelBase
{
public MainViewModel()
{
Moves = new ObservableCollection<MoveViewModel>()
{
new XMoveViewModel() { Row = 0, Column = 0 },
new OMoveViewModel() { Row = 1, Column = 0 },
new XMoveViewModel() { Row = 1, Column = 1 …Run Code Online (Sandbox Code Playgroud) 在WPF的View-Model-ViewModel模式下,我试图为网格控件的各种定义的高度和宽度进行数据绑定,因此我可以在使用GridSplitter后存储用户设置它们的值.但是,正常模式似乎不适用于这些特定属性.
注意:我发布这个作为参考问题,我发布谷歌失败了我,我不得不自己解决这个问题.我自己的答案可以遵循.
管理使用此小部件设置基本列表视图,但我没有找到任何方法来更改布局或显示到网格.
在Google I/O 2014上,他们多次提到RecyclerView可以取代gridview以及listview.L预览中的recyclerView的示例和来源不指向与网格相关的任何内容.
如何让回收商像网格一样?
我有一个剑道ui网格.假设指向网格的JS变量被调用grid.如何以编程方式转到第3页?谢谢.
grid ×10
wpf ×5
wpf-controls ×2
android ×1
autoresize ×1
button ×1
column-width ×1
data-binding ×1
dynamic ×1
ios ×1
ios6 ×1
itemscontrol ×1
kendo-grid ×1
kendo-ui ×1
layout ×1
matplotlib ×1
paging ×1
python ×1
row ×1
row-height ×1
tkinter ×1
xaml ×1