Я не прошу реализации кода, но с учетом набора навыков GTK +, что было бы с абстрактной точки зрения лучшим способом реализовать сетку, чтобы каждый квадрат был доступен для кликов и тому подобное?Создание сетки в GTK +
ответ
Для этого я бы воспользовался таблицей - http://library.gnome.org/devel/gtk/stable/GtkTable.html - и залейте ее кнопками - http://library.gnome.org/devel/gtk/stable/GtkButton.html. Оттуда, если вы не хотите, чтобы кнопки выглядели так, будто они были кнопками, я бы установил рельеф - http://library.gnome.org/devel/gtk/stable/GtkButton.html#gtk-button-set-relief - None.
Выполнение этого способа даст вам сетку, где каждый элемент имеет тот же размер, и событие запускается при нажатии элемента в сетке.
Вышеуказанное предполагает, что сетка будет иметь более чем одну строку, если вы только планируете иметь одну строку, которую вы бы лучше использовать либо GtkHButtonBox - http://library.gnome.org/devel/gtk/stable/GtkHButtonBox.html - или GtkVButtonBox - http://library.gnome.org/devel/gtk/stable/GtkVButtonBox.html.
Я предлагаю второе предложение mlowen использовать GtkTable для основной организации сетки, очень легко получить сетчатый вид. Вы также можете исследовать заполнение каждой ячейки простым GtkEventBox, если вам не нужен встроенный рисунок кнопки.
Eventbox - невидимый виджет, который в основном добавляет окно и делает закрытую область доступной. Полезно сделать некоторые из «тихих» виджетов GTK + более интерактивными, например, обычно используется за GtkLabel, чтобы сделать его интерактивным; если метка обеспечивает достаточную возможность рисования для ваших нужд, это также возможный способ продолжения.
Если сетка будет большой, вы можете также рассмотреть GtkTreeView.
Он может отображать деревья в виде сеток и поддерживает прямоугольный выбор. Ячейки могут отображать текст, цифры и простые виджеты, такие как кнопки, переключатели, меню опций, индикаторы выполнения и т. Д. Он хорошо работает даже в больших наборах данных (много тысяч строк) и имеет приятные функции, такие как сортировка столбцов и т. Д.
Этот API является довольно сложным, однако :-(Это полный MVC вещь и занимает немного тыкать о, чтобы получить его работать хорошо
Там пример кода в GTK-демо:. Посмотреть на «редактируемых ячеек» демо в разделе «Вид дерева».
- 1. Создание сетки с кнопками GTK
- 2. GTK сетки добавить два виджета
- 3. GTK: Установите размер сетки в C
- 4. Создание простого списка GTK
- 5. Создание сетки
- 6. Создание сетки в mapinfo
- 7. Создание сетки в iOS
- 8. Создание сетки в c
- 9. Создание сетки в MATLAB
- 10. Создание сетки в Java
- 11. Python GTK: создание подкласса gtk.Bin
- 12. Создание массива кнопок gtk в c
- 13. Создание treeview с кнопками в GTK sharp
- 14. Создание закрывающей вкладки в Mono/GTK
- 15. Создание сетки в пространстве Фурье
- 16. Создание сетки в wx Erlang
- 17. Создание сетки в Swing (Netbeans)
- 18. Создание динамической сетки в angularjs
- 19. Создание сетки результатов в R
- 20. Создание ручной сетки в Ogre3d?
- 21. создание линий сетки в списке
- 22. создание сетки данных в JavaScript
- 23. Создание 2d-сетки в Python
- 24. Создание ячейки сетки в java?
- 25. Создание сетки боя в Ruby
- 26. Создание эллипсоидной сетки в python
- 27. Программное создание сетки
- 28. Создание сетки с UIViews
- 29. Создание чувствительной сетки
- 30. Android Создание сетки