{"id":18717157,"url":"https://github.com/akascape/ctktable","last_synced_at":"2025-04-04T09:06:27.065Z","repository":{"id":167967185,"uuid":"643568664","full_name":"Akascape/CTkTable","owner":"Akascape","description":"Customtkinter Table widget (extension/add-on)","archived":false,"fork":false,"pushed_at":"2024-07-20T17:55:11.000Z","size":101,"stargazers_count":307,"open_issues_count":20,"forks_count":17,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-03-28T08:06:43.280Z","etag":null,"topics":["customtkinter","customtkinter-table","customtkinter-treeview","tables","tableview","tabular-editor","tkinter","tkinter-gui"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Akascape.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"ko_fi":"akascape"}},"created_at":"2023-05-21T15:21:33.000Z","updated_at":"2025-03-16T13:44:03.000Z","dependencies_parsed_at":"2024-06-12T15:39:38.665Z","dependency_job_id":"4afb2f92-b80c-4026-93d9-0a19e749b9ca","html_url":"https://github.com/Akascape/CTkTable","commit_stats":{"total_commits":68,"total_committers":2,"mean_commits":34.0,"dds":"0.014705882352941124","last_synced_commit":"8e19e77841a998605069bac33078ea8ac647c434"},"previous_names":["akascape/ctktable"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akascape%2FCTkTable","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akascape%2FCTkTable/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akascape%2FCTkTable/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akascape%2FCTkTable/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Akascape","download_url":"https://codeload.github.com/Akascape/CTkTable/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247149500,"owners_count":20891954,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["customtkinter","customtkinter-table","customtkinter-treeview","tables","tableview","tabular-editor","tkinter","tkinter-gui"],"created_at":"2024-11-07T13:15:08.850Z","updated_at":"2025-04-04T09:06:27.027Z","avatar_url":"https://github.com/Akascape.png","language":"Python","readme":"# CTkTable\n\n**Here is a quick and simple table widget having all the basic features.**\n\n![Screenshot](https://user-images.githubusercontent.com/89206401/233420929-bf210cb3-5b5f-49b2-ba7a-f01d187e72cf.jpg)\n\n## Features:\n- Add columns/rows\n- Delete columns/rows\n- Edit rows/columns at once\n- Insert values to specific cell\n- delete values from specific cell\n- update all values at once\n- edit each cell value and options\n- entry editing\n- can be used with scrollable frame\n- Lots of other data operations\n  \n## Installation\n```\npip install CTkTable\n```\n\n### [\u003cimg alt=\"GitHub repo size\" src=\"https://img.shields.io/github/repo-size/Akascape/CTkTable?\u0026color=white\u0026label=Download%20Source%20Code\u0026logo=Python\u0026logoColor=yellow\u0026style=for-the-badge\"  width=\"400\"\u003e](https://github.com/Akascape/CTkTable/archive/refs/heads/main.zip)\n\n_Dont forget to leave a ⭐_\n\n## Usage\n```python\nimport customtkinter\nfrom CTkTable import *\n\nroot = customtkinter.CTk()\n\nvalue = [[1,2,3,4,5],\n         [1,2,3,4,5],\n         [1,2,3,4,5],\n         [1,2,3,4,5],\n         [1,2,3,4,5]]\n\ntable = CTkTable(master=root, row=5, column=5, values=value)\ntable.pack(expand=True, fill=\"both\", padx=20, pady=20)\n\nroot.mainloop()\n```\n\n## Methods\n- **.insert(row, column, value, *args)**: change specific cell index data\n- **.add_row(index, values)**\n- **.add_column(index, values)**\n- **.edit_row(row_num, *args)**: edit one full row at once\n- **.edit_column(column_num, *args)**: edit one full column at once\n- **.delete_row(index)**: remove one row\n- **.delete_column(index)**: remove one column\n- **.delete_rows(indices)**: remove mutliple rows\n- **.delete_columns(indices)**: remove multiple columns\n- **.edit(row, column)**: edit specific cell without changing the value\n- **.select(row, column)**: select one cell\n- **.select_row(row)**: select a row\n- **.get_selected_row()**: get the values of the selected row\n- **.deselect_row(row)**: deselect a row\n- **.select_column(column)**: select a column\n- **.get_selected_column()**: get the values of selected column\n- **.deselect_column(column)**: deselect a column\n- **.update_values(values)**: update all values at once\n- **.delete(row, column, *args)**: delete the data from specific index\n- **.get()**: get all values\n- **.get(row, column)**: get specific cell value\n- **.get_row(row)**: get all values of a specific row\n- **.get_column(column)**: get all values of a specific column\n- **.configure(arguments)**: change other table attributes\n\n_here, **args** means ctkbutton parameters which can also be passed_\n\n**Note: treat all the table cells as a ctkbutton class**\n\n## Arguments\n| Parameter | Description |\n|-----------| ------------|\n| **master** | parent widget  |\n| **values** | the default values for table |\n| row | **optional**, set number of default rows |\n| column | **optional**, set number of default columns |\n| padx | add internal padding in x |\n| pady | add internal padding in y |\n| colors | set two fg_colors for the table (list), eg: `colors=[\"yellow\", \"green\"]` |\n| color_phase | set color phase based on rows or columns, eg: `color_phase=\"vertical\"` |\n| orientation | change the orientation of table, `vertical or horizontal` |\n| header_color | define the topmost row color |\n| corner_radius | define the corner roundness of the table |\n| hover_color | enable hover effect on the cells |\n| wraplength | set the width of cell text |\n| justify | anchor the position of the cell text |\n| **command** | specify a command when a table cell is pressed, [returns row, column, value] |\n| **other button parameters* | all other ctk button parameters can be passed |\n\nNote: This library is at early stage so there can be some performance issues. \n### Thanks for visiting! Hope it will help :)\n","funding_links":["https://ko-fi.com/akascape"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakascape%2Fctktable","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakascape%2Fctktable","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakascape%2Fctktable/lists"}