# CTkTable
**Here is a quick and simple table widget having all the basic features.**
![Screenshot](https://user-images.githubusercontent.com/89206401/233420929-bf210cb3-5b5f-49b2-ba7a-f01d187e72cf.jpg)
## Features:
- Add columns/rows
- Delete columns/rows
- Edit rows/columns at once
- Insert values to specific cell
- delete values from specific cell
- update all values at once
- edit each cell value and options
- entry editing
- can be used with scrollable frame
- Lots of other data operarions
## Installation
```
pip install CTkTable
```
### [<img alt="GitHub repo size" src="https://img.shields.io/github/repo-size/Akascape/CTkTable?&color=white&label=Download%20Source%20Code&logo=Python&logoColor=yellow&style=for-the-badge" width="400">](https://github.com/Akascape/CTkTable/archive/refs/heads/main.zip)
## Usage
```python
import customtkinter
from CTkTable import *
root = customtkinter.CTk()
value = [[1,2,3,4,5],
[1,2,3,4,5],
[1,2,3,4,5],
[1,2,3,4,5],
[1,2,3,4,5]]
table = CTkTable(master=root, row=5, column=5, values=value)
table.pack(expand=True, fill="both", padx=20, pady=20)
root.mainloop()
```
## Methods
- **.insert(row, column, value, *args)**: change specific cell index data
- **.add_row(index, values)**
- **.add_column(index, values)**
- **.edit_row(row_num, *args)**: edit one full row at once
- **.edit_column(column_num, *args)**: edit one full column at once
- **.delete_row(index)**: remove one row
- **.delete_column(index)**: remove one column
- **.delete_rows(indices)**: remove mutliple rows
- **.delete_columns(indices)**: remove multiple columns
- **.edit(row, column)**: edit specific cell without changing the value
- **.select(row, column)**: select one cell
- **.select_row(row)**: select a row
- **.get_selected_row()**: get the values of the selected row
- **.deselect_row(row)**: deselect a row
- **.select_column(column)**: select a column
- **.get_selected_column()**: get the values of selected column
- **.deselect_column(column)**: deselect a column
- **.update_values(values)**: update all values at once
- **.delete(row, column, *args)**: delete the data from specific index
- **.get()**: get all values
- **.get(row, column)**: get specific cell value
- **.get_row(row)**: get all values of a specific row
- **.get_column(column)**: get all values of a specific column
- **.configure(arguments)**: change other table attributes
_here, **args** means ctkbutton parameters which can also be passed_
**Note: treat all the table cells as a ctkbutton class**
## Arguments
| Parameter | Description |
|-----------| ------------|
| **master** | parent widget |
| **values** | the default values for table |
| row | **optional**, set number of default rows |
| column | **optional**, set number of default columns |
| padx | add internal padding in x |
| pady | add internal padding in y |
| colors | set two fg_colors for the table (list), eg: `colors=["yellow", "green"]` |
| color_phase | set color phase based on rows or columns, eg: `color_phase="vertical"` |
| orientation | change the orientation of table, `vertical or horizontal` |
| header_color | define the topmost row color |
| corner_radius | define the corner roundness of the table |
| hover_color | enable hover effect on the cells |
| wraplength | set the width of cell text |
| justify | anchor the position of the cell text |
| **command** | specify a command when a table cell is pressed, [returns row, column, value] |
| **other button parameters* | all other ctk button parameters can be passed |
Note: This library is at early stage so there can be some performance issues.
### Thanks for visiting! Hope it will help :)
Raw data
{
"_id": null,
"home_page": "https://github.com/Akascape/CTkTable",
"name": "CTkTable",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "customtkinter,tkinter,table-widget,table,ctktable,tabular-data,customtkinter-table",
"author": "Akash Bora",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/72/17/7865e96995857a5056c51cc4997d2a2dadc06d8020079b922c6f6ed320a3/CTkTable-1.1.tar.gz",
"platform": null,
"description": "# CTkTable\r\n\r\n**Here is a quick and simple table widget having all the basic features.**\r\n\r\n![Screenshot](https://user-images.githubusercontent.com/89206401/233420929-bf210cb3-5b5f-49b2-ba7a-f01d187e72cf.jpg)\r\n\r\n## Features:\r\n- Add columns/rows\r\n- Delete columns/rows\r\n- Edit rows/columns at once\r\n- Insert values to specific cell\r\n- delete values from specific cell\r\n- update all values at once\r\n- edit each cell value and options\r\n- entry editing\r\n- can be used with scrollable frame\r\n- Lots of other data operarions\r\n \r\n## Installation\r\n```\r\npip install CTkTable\r\n```\r\n\r\n### [<img alt=\"GitHub repo size\" src=\"https://img.shields.io/github/repo-size/Akascape/CTkTable?&color=white&label=Download%20Source%20Code&logo=Python&logoColor=yellow&style=for-the-badge\" width=\"400\">](https://github.com/Akascape/CTkTable/archive/refs/heads/main.zip)\r\n\r\n\r\n## Usage\r\n```python\r\nimport customtkinter\r\nfrom CTkTable import *\r\n\r\nroot = customtkinter.CTk()\r\n\r\nvalue = [[1,2,3,4,5],\r\n [1,2,3,4,5],\r\n [1,2,3,4,5],\r\n [1,2,3,4,5],\r\n [1,2,3,4,5]]\r\n\r\ntable = CTkTable(master=root, row=5, column=5, values=value)\r\ntable.pack(expand=True, fill=\"both\", padx=20, pady=20)\r\n\r\nroot.mainloop()\r\n```\r\n\r\n## Methods\r\n- **.insert(row, column, value, *args)**: change specific cell index data\r\n- **.add_row(index, values)**\r\n- **.add_column(index, values)**\r\n- **.edit_row(row_num, *args)**: edit one full row at once\r\n- **.edit_column(column_num, *args)**: edit one full column at once\r\n- **.delete_row(index)**: remove one row\r\n- **.delete_column(index)**: remove one column\r\n- **.delete_rows(indices)**: remove mutliple rows\r\n- **.delete_columns(indices)**: remove multiple columns\r\n- **.edit(row, column)**: edit specific cell without changing the value\r\n- **.select(row, column)**: select one cell\r\n- **.select_row(row)**: select a row\r\n- **.get_selected_row()**: get the values of the selected row\r\n- **.deselect_row(row)**: deselect a row\r\n- **.select_column(column)**: select a column\r\n- **.get_selected_column()**: get the values of selected column\r\n- **.deselect_column(column)**: deselect a column\r\n- **.update_values(values)**: update all values at once\r\n- **.delete(row, column, *args)**: delete the data from specific index\r\n- **.get()**: get all values\r\n- **.get(row, column)**: get specific cell value\r\n- **.get_row(row)**: get all values of a specific row\r\n- **.get_column(column)**: get all values of a specific column\r\n- **.configure(arguments)**: change other table attributes\r\n\r\n_here, **args** means ctkbutton parameters which can also be passed_\r\n\r\n**Note: treat all the table cells as a ctkbutton class**\r\n\r\n## Arguments\r\n| Parameter | Description |\r\n|-----------| ------------|\r\n| **master** | parent widget |\r\n| **values** | the default values for table |\r\n| row | **optional**, set number of default rows |\r\n| column | **optional**, set number of default columns |\r\n| padx | add internal padding in x |\r\n| pady | add internal padding in y |\r\n| colors | set two fg_colors for the table (list), eg: `colors=[\"yellow\", \"green\"]` |\r\n| color_phase | set color phase based on rows or columns, eg: `color_phase=\"vertical\"` |\r\n| orientation | change the orientation of table, `vertical or horizontal` |\r\n| header_color | define the topmost row color |\r\n| corner_radius | define the corner roundness of the table |\r\n| hover_color | enable hover effect on the cells |\r\n| wraplength | set the width of cell text |\r\n| justify | anchor the position of the cell text |\r\n| **command** | specify a command when a table cell is pressed, [returns row, column, value] |\r\n| **other button parameters* | all other ctk button parameters can be passed |\r\n\r\nNote: This library is at early stage so there can be some performance issues. \r\n### Thanks for visiting! Hope it will help :)\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Customtkinter Table widget",
"version": "1.1",
"project_urls": {
"Homepage": "https://github.com/Akascape/CTkTable"
},
"split_keywords": [
"customtkinter",
"tkinter",
"table-widget",
"table",
"ctktable",
"tabular-data",
"customtkinter-table"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "701a9dfddc895d7252ecb23546d9b1edbf3960b2aa37550deba8070b8fc3ba97",
"md5": "1e773332487b4ecf6c83bff29f0c503f",
"sha256": "a2615004bfb138618001c8b5fbf32accbd0142098cae4fb98d3043ae4e29b4d1"
},
"downloads": -1,
"filename": "CTkTable-1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1e773332487b4ecf6c83bff29f0c503f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 9027,
"upload_time": "2024-01-14T09:52:44",
"upload_time_iso_8601": "2024-01-14T09:52:44.838978Z",
"url": "https://files.pythonhosted.org/packages/70/1a/9dfddc895d7252ecb23546d9b1edbf3960b2aa37550deba8070b8fc3ba97/CTkTable-1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "72177865e96995857a5056c51cc4997d2a2dadc06d8020079b922c6f6ed320a3",
"md5": "7afb718adec1a596578e90e87b269e8b",
"sha256": "5c749124a888a17d129abb3d0afc9330c7dd5eb02e3bda8ffc6ff7b91461b076"
},
"downloads": -1,
"filename": "CTkTable-1.1.tar.gz",
"has_sig": false,
"md5_digest": "7afb718adec1a596578e90e87b269e8b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 8880,
"upload_time": "2024-01-14T09:52:46",
"upload_time_iso_8601": "2024-01-14T09:52:46.414697Z",
"url": "https://files.pythonhosted.org/packages/72/17/7865e96995857a5056c51cc4997d2a2dadc06d8020079b922c6f6ed320a3/CTkTable-1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-01-14 09:52:46",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Akascape",
"github_project": "CTkTable",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "ctktable"
}