gtk Devhelp建议我使用GtkGrid而不是GtkTable。函数gtk_grid_new()用于创建一个新的GtkGrid。网格中可能有一些行和列。但是gtk_grid_new()无法设置GtkGrid的行数和列数。如何解决?
你不能。相反,当您使用gtk_grid_attach()
或类似功能将小部件添加到网格中时,行和列的数量会进行调整以适合放置小部件的行和列。
没有创建具有n行和n列的gtk_grid
的函数,但是创建自己的行很简单:
GtkWidget *my_gtk_grid_new(size_t rows, size_t columns)
{
GtkWidget *grid = gtk_grid_new();
for (size_ t row = 0; row < rows; row++)
{
gtk_grid_insert_row(GTK_GRID(grid), 0);
}
for (size_ t column = 0; column < columns; column++)
{
gtk_grid_insert_column(GTK_GRID(grid), 0);
}
return grid;
}