ezqt-widgets 2.3.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (359) hide show
  1. ezqt_widgets-2.3.4/LICENSE +24 -0
  2. ezqt_widgets-2.3.4/MANIFEST.in +40 -0
  3. ezqt_widgets-2.3.4/PKG-INFO +279 -0
  4. ezqt_widgets-2.3.4/README.md +216 -0
  5. ezqt_widgets-2.3.4/docs/api/button.md +28 -0
  6. ezqt_widgets-2.3.4/docs/api/index.md +202 -0
  7. ezqt_widgets-2.3.4/docs/api/input.md +28 -0
  8. ezqt_widgets-2.3.4/docs/api/label.md +28 -0
  9. ezqt_widgets-2.3.4/docs/api/misc.md +40 -0
  10. ezqt_widgets-2.3.4/docs/cli/index.md +172 -0
  11. ezqt_widgets-2.3.4/docs/examples/index.md +260 -0
  12. ezqt_widgets-2.3.4/docs/getting-started.md +477 -0
  13. ezqt_widgets-2.3.4/docs/guides/development.md +240 -0
  14. ezqt_widgets-2.3.4/docs/guides/index.md +182 -0
  15. ezqt_widgets-2.3.4/docs/guides/style-guide.md +291 -0
  16. ezqt_widgets-2.3.4/docs/guides/testing.md +380 -0
  17. ezqt_widgets-2.3.4/docs/index.md +148 -0
  18. ezqt_widgets-2.3.4/examples/SUMMARY.md +155 -0
  19. ezqt_widgets-2.3.4/examples/bin/app.yaml +59 -0
  20. ezqt_widgets-2.3.4/examples/bin/icons/cil-3d.png +0 -0
  21. ezqt_widgets-2.3.4/examples/bin/icons/cil-4k.png +0 -0
  22. ezqt_widgets-2.3.4/examples/bin/icons/cil-account-logout.png +0 -0
  23. ezqt_widgets-2.3.4/examples/bin/icons/cil-action-redo.png +0 -0
  24. ezqt_widgets-2.3.4/examples/bin/icons/cil-action-undo.png +0 -0
  25. ezqt_widgets-2.3.4/examples/bin/icons/cil-airplane-mode-off.png +0 -0
  26. ezqt_widgets-2.3.4/examples/bin/icons/cil-airplane-mode.png +0 -0
  27. ezqt_widgets-2.3.4/examples/bin/icons/cil-alarm.png +0 -0
  28. ezqt_widgets-2.3.4/examples/bin/icons/cil-align-center.png +0 -0
  29. ezqt_widgets-2.3.4/examples/bin/icons/cil-align-left.png +0 -0
  30. ezqt_widgets-2.3.4/examples/bin/icons/cil-align-right.png +0 -0
  31. ezqt_widgets-2.3.4/examples/bin/icons/cil-arrow-bottom-2.png +0 -0
  32. ezqt_widgets-2.3.4/examples/bin/icons/cil-arrow-bottom.png +0 -0
  33. ezqt_widgets-2.3.4/examples/bin/icons/cil-arrow-circle-bottom.png +0 -0
  34. ezqt_widgets-2.3.4/examples/bin/icons/cil-arrow-circle-left.png +0 -0
  35. ezqt_widgets-2.3.4/examples/bin/icons/cil-arrow-circle-right.png +0 -0
  36. ezqt_widgets-2.3.4/examples/bin/icons/cil-arrow-circle-top.png +0 -0
  37. ezqt_widgets-2.3.4/examples/bin/icons/cil-arrow-left.png +0 -0
  38. ezqt_widgets-2.3.4/examples/bin/icons/cil-arrow-right.png +0 -0
  39. ezqt_widgets-2.3.4/examples/bin/icons/cil-arrow-top.png +0 -0
  40. ezqt_widgets-2.3.4/examples/bin/icons/cil-at.png +0 -0
  41. ezqt_widgets-2.3.4/examples/bin/icons/cil-av-timer.png +0 -0
  42. ezqt_widgets-2.3.4/examples/bin/icons/cil-ban.png +0 -0
  43. ezqt_widgets-2.3.4/examples/bin/icons/cil-battery-0.png +0 -0
  44. ezqt_widgets-2.3.4/examples/bin/icons/cil-battery-3.png +0 -0
  45. ezqt_widgets-2.3.4/examples/bin/icons/cil-battery-5.png +0 -0
  46. ezqt_widgets-2.3.4/examples/bin/icons/cil-battery-alert.png +0 -0
  47. ezqt_widgets-2.3.4/examples/bin/icons/cil-battery-slash.png +0 -0
  48. ezqt_widgets-2.3.4/examples/bin/icons/cil-bell.png +0 -0
  49. ezqt_widgets-2.3.4/examples/bin/icons/cil-bluetooth.png +0 -0
  50. ezqt_widgets-2.3.4/examples/bin/icons/cil-briefcase.png +0 -0
  51. ezqt_widgets-2.3.4/examples/bin/icons/cil-browser.png +0 -0
  52. ezqt_widgets-2.3.4/examples/bin/icons/cil-calendar-check.png +0 -0
  53. ezqt_widgets-2.3.4/examples/bin/icons/cil-camera-roll.png +0 -0
  54. ezqt_widgets-2.3.4/examples/bin/icons/cil-camera.png +0 -0
  55. ezqt_widgets-2.3.4/examples/bin/icons/cil-caret-bottom.png +0 -0
  56. ezqt_widgets-2.3.4/examples/bin/icons/cil-caret-left.png +0 -0
  57. ezqt_widgets-2.3.4/examples/bin/icons/cil-caret-right.png +0 -0
  58. ezqt_widgets-2.3.4/examples/bin/icons/cil-caret-top.png +0 -0
  59. ezqt_widgets-2.3.4/examples/bin/icons/cil-cart.png +0 -0
  60. ezqt_widgets-2.3.4/examples/bin/icons/cil-cast.png +0 -0
  61. ezqt_widgets-2.3.4/examples/bin/icons/cil-chart-line.png +0 -0
  62. ezqt_widgets-2.3.4/examples/bin/icons/cil-chart-pie.png +0 -0
  63. ezqt_widgets-2.3.4/examples/bin/icons/cil-chart.png +0 -0
  64. ezqt_widgets-2.3.4/examples/bin/icons/cil-chat-bubble.png +0 -0
  65. ezqt_widgets-2.3.4/examples/bin/icons/cil-check-alt.png +0 -0
  66. ezqt_widgets-2.3.4/examples/bin/icons/cil-check-circle.png +0 -0
  67. ezqt_widgets-2.3.4/examples/bin/icons/cil-check.png +0 -0
  68. ezqt_widgets-2.3.4/examples/bin/icons/cil-chevron-bottom.png +0 -0
  69. ezqt_widgets-2.3.4/examples/bin/icons/cil-chevron-circle-down-alt.png +0 -0
  70. ezqt_widgets-2.3.4/examples/bin/icons/cil-chevron-circle-left-alt.png +0 -0
  71. ezqt_widgets-2.3.4/examples/bin/icons/cil-chevron-circle-right-alt.png +0 -0
  72. ezqt_widgets-2.3.4/examples/bin/icons/cil-chevron-circle-up-alt.png +0 -0
  73. ezqt_widgets-2.3.4/examples/bin/icons/cil-chevron-double-down.png +0 -0
  74. ezqt_widgets-2.3.4/examples/bin/icons/cil-chevron-double-left.png +0 -0
  75. ezqt_widgets-2.3.4/examples/bin/icons/cil-chevron-double-right.png +0 -0
  76. ezqt_widgets-2.3.4/examples/bin/icons/cil-chevron-double-up-alt.png +0 -0
  77. ezqt_widgets-2.3.4/examples/bin/icons/cil-chevron-double-up.png +0 -0
  78. ezqt_widgets-2.3.4/examples/bin/icons/cil-chevron-left.png +0 -0
  79. ezqt_widgets-2.3.4/examples/bin/icons/cil-chevron-right.png +0 -0
  80. ezqt_widgets-2.3.4/examples/bin/icons/cil-chevron-top.png +0 -0
  81. ezqt_widgets-2.3.4/examples/bin/icons/cil-circle.png +0 -0
  82. ezqt_widgets-2.3.4/examples/bin/icons/cil-clipboard.png +0 -0
  83. ezqt_widgets-2.3.4/examples/bin/icons/cil-clock.png +0 -0
  84. ezqt_widgets-2.3.4/examples/bin/icons/cil-clone.png +0 -0
  85. ezqt_widgets-2.3.4/examples/bin/icons/cil-closed-captioning.png +0 -0
  86. ezqt_widgets-2.3.4/examples/bin/icons/cil-cloud-download.png +0 -0
  87. ezqt_widgets-2.3.4/examples/bin/icons/cil-cloud-upload.png +0 -0
  88. ezqt_widgets-2.3.4/examples/bin/icons/cil-cloudy.png +0 -0
  89. ezqt_widgets-2.3.4/examples/bin/icons/cil-code.png +0 -0
  90. ezqt_widgets-2.3.4/examples/bin/icons/cil-coffee.png +0 -0
  91. ezqt_widgets-2.3.4/examples/bin/icons/cil-comment-bubble.png +0 -0
  92. ezqt_widgets-2.3.4/examples/bin/icons/cil-comment-square.png +0 -0
  93. ezqt_widgets-2.3.4/examples/bin/icons/cil-credit-card.png +0 -0
  94. ezqt_widgets-2.3.4/examples/bin/icons/cil-cursor-move.png +0 -0
  95. ezqt_widgets-2.3.4/examples/bin/icons/cil-cursor.png +0 -0
  96. ezqt_widgets-2.3.4/examples/bin/icons/cil-cut.png +0 -0
  97. ezqt_widgets-2.3.4/examples/bin/icons/cil-data-transfer-down.png +0 -0
  98. ezqt_widgets-2.3.4/examples/bin/icons/cil-data-transfer-up.png +0 -0
  99. ezqt_widgets-2.3.4/examples/bin/icons/cil-deaf.png +0 -0
  100. ezqt_widgets-2.3.4/examples/bin/icons/cil-description.png +0 -0
  101. ezqt_widgets-2.3.4/examples/bin/icons/cil-devices.png +0 -0
  102. ezqt_widgets-2.3.4/examples/bin/icons/cil-dialpad.png +0 -0
  103. ezqt_widgets-2.3.4/examples/bin/icons/cil-dog.png +0 -0
  104. ezqt_widgets-2.3.4/examples/bin/icons/cil-door.png +0 -0
  105. ezqt_widgets-2.3.4/examples/bin/icons/cil-double-quote-sans-left.png +0 -0
  106. ezqt_widgets-2.3.4/examples/bin/icons/cil-double-quote-sans-right.png +0 -0
  107. ezqt_widgets-2.3.4/examples/bin/icons/cil-drop.png +0 -0
  108. ezqt_widgets-2.3.4/examples/bin/icons/cil-envelope-closed.png +0 -0
  109. ezqt_widgets-2.3.4/examples/bin/icons/cil-envelope-letter.png +0 -0
  110. ezqt_widgets-2.3.4/examples/bin/icons/cil-envelope-open.png +0 -0
  111. ezqt_widgets-2.3.4/examples/bin/icons/cil-equalizer.png +0 -0
  112. ezqt_widgets-2.3.4/examples/bin/icons/cil-ethernet.png +0 -0
  113. ezqt_widgets-2.3.4/examples/bin/icons/cil-exit-to-app.png +0 -0
  114. ezqt_widgets-2.3.4/examples/bin/icons/cil-expand-down.png +0 -0
  115. ezqt_widgets-2.3.4/examples/bin/icons/cil-expand-left.png +0 -0
  116. ezqt_widgets-2.3.4/examples/bin/icons/cil-expand-right.png +0 -0
  117. ezqt_widgets-2.3.4/examples/bin/icons/cil-expand-up.png +0 -0
  118. ezqt_widgets-2.3.4/examples/bin/icons/cil-exposure.png +0 -0
  119. ezqt_widgets-2.3.4/examples/bin/icons/cil-external-link.png +0 -0
  120. ezqt_widgets-2.3.4/examples/bin/icons/cil-face-dead.png +0 -0
  121. ezqt_widgets-2.3.4/examples/bin/icons/cil-featured-playlist.png +0 -0
  122. ezqt_widgets-2.3.4/examples/bin/icons/cil-file.png +0 -0
  123. ezqt_widgets-2.3.4/examples/bin/icons/cil-find-in-page.png +0 -0
  124. ezqt_widgets-2.3.4/examples/bin/icons/cil-fingerprint.png +0 -0
  125. ezqt_widgets-2.3.4/examples/bin/icons/cil-fire.png +0 -0
  126. ezqt_widgets-2.3.4/examples/bin/icons/cil-flip-to-back.png +0 -0
  127. ezqt_widgets-2.3.4/examples/bin/icons/cil-folder-open.png +0 -0
  128. ezqt_widgets-2.3.4/examples/bin/icons/cil-folder.png +0 -0
  129. ezqt_widgets-2.3.4/examples/bin/icons/cil-frown.png +0 -0
  130. ezqt_widgets-2.3.4/examples/bin/icons/cil-gamepad.png +0 -0
  131. ezqt_widgets-2.3.4/examples/bin/icons/cil-hand-point-down.png +0 -0
  132. ezqt_widgets-2.3.4/examples/bin/icons/cil-hand-point-left.png +0 -0
  133. ezqt_widgets-2.3.4/examples/bin/icons/cil-hand-point-right.png +0 -0
  134. ezqt_widgets-2.3.4/examples/bin/icons/cil-hand-point-up.png +0 -0
  135. ezqt_widgets-2.3.4/examples/bin/icons/cil-hd.png +0 -0
  136. ezqt_widgets-2.3.4/examples/bin/icons/cil-hdr.png +0 -0
  137. ezqt_widgets-2.3.4/examples/bin/icons/cil-headphones.png +0 -0
  138. ezqt_widgets-2.3.4/examples/bin/icons/cil-heart.png +0 -0
  139. ezqt_widgets-2.3.4/examples/bin/icons/cil-highligt.png +0 -0
  140. ezqt_widgets-2.3.4/examples/bin/icons/cil-history.png +0 -0
  141. ezqt_widgets-2.3.4/examples/bin/icons/cil-home.png +0 -0
  142. ezqt_widgets-2.3.4/examples/bin/icons/cil-house.png +0 -0
  143. ezqt_widgets-2.3.4/examples/bin/icons/cil-image-plus.png +0 -0
  144. ezqt_widgets-2.3.4/examples/bin/icons/cil-image1.png +0 -0
  145. ezqt_widgets-2.3.4/examples/bin/icons/cil-infinity.png +0 -0
  146. ezqt_widgets-2.3.4/examples/bin/icons/cil-input-power.png +0 -0
  147. ezqt_widgets-2.3.4/examples/bin/icons/cil-input.png +0 -0
  148. ezqt_widgets-2.3.4/examples/bin/icons/cil-justify-center.png +0 -0
  149. ezqt_widgets-2.3.4/examples/bin/icons/cil-justify-left.png +0 -0
  150. ezqt_widgets-2.3.4/examples/bin/icons/cil-justify-right.png +0 -0
  151. ezqt_widgets-2.3.4/examples/bin/icons/cil-keyboard.png +0 -0
  152. ezqt_widgets-2.3.4/examples/bin/icons/cil-laptop.png +0 -0
  153. ezqt_widgets-2.3.4/examples/bin/icons/cil-layers.png +0 -0
  154. ezqt_widgets-2.3.4/examples/bin/icons/cil-level-down.png +0 -0
  155. ezqt_widgets-2.3.4/examples/bin/icons/cil-level-up.png +0 -0
  156. ezqt_widgets-2.3.4/examples/bin/icons/cil-library-add.png +0 -0
  157. ezqt_widgets-2.3.4/examples/bin/icons/cil-library.png +0 -0
  158. ezqt_widgets-2.3.4/examples/bin/icons/cil-lightbulb.png +0 -0
  159. ezqt_widgets-2.3.4/examples/bin/icons/cil-link-alt.png +0 -0
  160. ezqt_widgets-2.3.4/examples/bin/icons/cil-link-broken.png +0 -0
  161. ezqt_widgets-2.3.4/examples/bin/icons/cil-link.png +0 -0
  162. ezqt_widgets-2.3.4/examples/bin/icons/cil-location-pin.png +0 -0
  163. ezqt_widgets-2.3.4/examples/bin/icons/cil-lock-locked.png +0 -0
  164. ezqt_widgets-2.3.4/examples/bin/icons/cil-lock-unlocked.png +0 -0
  165. ezqt_widgets-2.3.4/examples/bin/icons/cil-loop-1.png +0 -0
  166. ezqt_widgets-2.3.4/examples/bin/icons/cil-loop-circular.png +0 -0
  167. ezqt_widgets-2.3.4/examples/bin/icons/cil-loop.png +0 -0
  168. ezqt_widgets-2.3.4/examples/bin/icons/cil-low-vision.png +0 -0
  169. ezqt_widgets-2.3.4/examples/bin/icons/cil-magnifying-glass.png +0 -0
  170. ezqt_widgets-2.3.4/examples/bin/icons/cil-map.png +0 -0
  171. ezqt_widgets-2.3.4/examples/bin/icons/cil-media-eject.png +0 -0
  172. ezqt_widgets-2.3.4/examples/bin/icons/cil-media-pause.png +0 -0
  173. ezqt_widgets-2.3.4/examples/bin/icons/cil-media-play.png +0 -0
  174. ezqt_widgets-2.3.4/examples/bin/icons/cil-media-skip-backward.png +0 -0
  175. ezqt_widgets-2.3.4/examples/bin/icons/cil-media-skip-forward.png +0 -0
  176. ezqt_widgets-2.3.4/examples/bin/icons/cil-media-step-backward.png +0 -0
  177. ezqt_widgets-2.3.4/examples/bin/icons/cil-media-step-forward.png +0 -0
  178. ezqt_widgets-2.3.4/examples/bin/icons/cil-media-stop.png +0 -0
  179. ezqt_widgets-2.3.4/examples/bin/icons/cil-medical-cross.png +0 -0
  180. ezqt_widgets-2.3.4/examples/bin/icons/cil-meh.png +0 -0
  181. ezqt_widgets-2.3.4/examples/bin/icons/cil-menu.png +0 -0
  182. ezqt_widgets-2.3.4/examples/bin/icons/cil-microphone.png +0 -0
  183. ezqt_widgets-2.3.4/examples/bin/icons/cil-minus.png +0 -0
  184. ezqt_widgets-2.3.4/examples/bin/icons/cil-mobile-landscape.png +0 -0
  185. ezqt_widgets-2.3.4/examples/bin/icons/cil-mobile.png +0 -0
  186. ezqt_widgets-2.3.4/examples/bin/icons/cil-mood-bad.png +0 -0
  187. ezqt_widgets-2.3.4/examples/bin/icons/cil-mood-good.png +0 -0
  188. ezqt_widgets-2.3.4/examples/bin/icons/cil-mood-very-bad.png +0 -0
  189. ezqt_widgets-2.3.4/examples/bin/icons/cil-mood-very-good.png +0 -0
  190. ezqt_widgets-2.3.4/examples/bin/icons/cil-moon.png +0 -0
  191. ezqt_widgets-2.3.4/examples/bin/icons/cil-mouse.png +0 -0
  192. ezqt_widgets-2.3.4/examples/bin/icons/cil-move.png +0 -0
  193. ezqt_widgets-2.3.4/examples/bin/icons/cil-movie.png +0 -0
  194. ezqt_widgets-2.3.4/examples/bin/icons/cil-mug-tea.png +0 -0
  195. ezqt_widgets-2.3.4/examples/bin/icons/cil-mug.png +0 -0
  196. ezqt_widgets-2.3.4/examples/bin/icons/cil-notes.png +0 -0
  197. ezqt_widgets-2.3.4/examples/bin/icons/cil-options-horizontal.png +0 -0
  198. ezqt_widgets-2.3.4/examples/bin/icons/cil-options.png +0 -0
  199. ezqt_widgets-2.3.4/examples/bin/icons/cil-paint-bucket.png +0 -0
  200. ezqt_widgets-2.3.4/examples/bin/icons/cil-paper-plane.png +0 -0
  201. ezqt_widgets-2.3.4/examples/bin/icons/cil-paperclip.png +0 -0
  202. ezqt_widgets-2.3.4/examples/bin/icons/cil-paragraph.png +0 -0
  203. ezqt_widgets-2.3.4/examples/bin/icons/cil-pen-alt.png +0 -0
  204. ezqt_widgets-2.3.4/examples/bin/icons/cil-pencil.png +0 -0
  205. ezqt_widgets-2.3.4/examples/bin/icons/cil-people.png +0 -0
  206. ezqt_widgets-2.3.4/examples/bin/icons/cil-phone.png +0 -0
  207. ezqt_widgets-2.3.4/examples/bin/icons/cil-pin.png +0 -0
  208. ezqt_widgets-2.3.4/examples/bin/icons/cil-plus.png +0 -0
  209. ezqt_widgets-2.3.4/examples/bin/icons/cil-power-standby.png +0 -0
  210. ezqt_widgets-2.3.4/examples/bin/icons/cil-print.png +0 -0
  211. ezqt_widgets-2.3.4/examples/bin/icons/cil-rectangle.png +0 -0
  212. ezqt_widgets-2.3.4/examples/bin/icons/cil-reload.png +0 -0
  213. ezqt_widgets-2.3.4/examples/bin/icons/cil-remove.png +0 -0
  214. ezqt_widgets-2.3.4/examples/bin/icons/cil-rss.png +0 -0
  215. ezqt_widgets-2.3.4/examples/bin/icons/cil-satelite.png +0 -0
  216. ezqt_widgets-2.3.4/examples/bin/icons/cil-save.png +0 -0
  217. ezqt_widgets-2.3.4/examples/bin/icons/cil-screen-desktop.png +0 -0
  218. ezqt_widgets-2.3.4/examples/bin/icons/cil-screen-smartphone.png +0 -0
  219. ezqt_widgets-2.3.4/examples/bin/icons/cil-settings.png +0 -0
  220. ezqt_widgets-2.3.4/examples/bin/icons/cil-share-boxed.png +0 -0
  221. ezqt_widgets-2.3.4/examples/bin/icons/cil-share.png +0 -0
  222. ezqt_widgets-2.3.4/examples/bin/icons/cil-signal-cellular-0.png +0 -0
  223. ezqt_widgets-2.3.4/examples/bin/icons/cil-signal-cellular-3.png +0 -0
  224. ezqt_widgets-2.3.4/examples/bin/icons/cil-size-grip.png +0 -0
  225. ezqt_widgets-2.3.4/examples/bin/icons/cil-smile.png +0 -0
  226. ezqt_widgets-2.3.4/examples/bin/icons/cil-speaker.png +0 -0
  227. ezqt_widgets-2.3.4/examples/bin/icons/cil-speech.png +0 -0
  228. ezqt_widgets-2.3.4/examples/bin/icons/cil-speedometer.png +0 -0
  229. ezqt_widgets-2.3.4/examples/bin/icons/cil-star.png +0 -0
  230. ezqt_widgets-2.3.4/examples/bin/icons/cil-tags.png +0 -0
  231. ezqt_widgets-2.3.4/examples/bin/icons/cil-task.png +0 -0
  232. ezqt_widgets-2.3.4/examples/bin/icons/cil-terminal.png +0 -0
  233. ezqt_widgets-2.3.4/examples/bin/icons/cil-text-size.png +0 -0
  234. ezqt_widgets-2.3.4/examples/bin/icons/cil-text-square.png +0 -0
  235. ezqt_widgets-2.3.4/examples/bin/icons/cil-text.png +0 -0
  236. ezqt_widgets-2.3.4/examples/bin/icons/cil-thumb-down.png +0 -0
  237. ezqt_widgets-2.3.4/examples/bin/icons/cil-thumb-up.png +0 -0
  238. ezqt_widgets-2.3.4/examples/bin/icons/cil-transfer.png +0 -0
  239. ezqt_widgets-2.3.4/examples/bin/icons/cil-trash.png +0 -0
  240. ezqt_widgets-2.3.4/examples/bin/icons/cil-triangle.png +0 -0
  241. ezqt_widgets-2.3.4/examples/bin/icons/cil-truck.png +0 -0
  242. ezqt_widgets-2.3.4/examples/bin/icons/cil-user-female.png +0 -0
  243. ezqt_widgets-2.3.4/examples/bin/icons/cil-user-follow.png +0 -0
  244. ezqt_widgets-2.3.4/examples/bin/icons/cil-user-unfollow.png +0 -0
  245. ezqt_widgets-2.3.4/examples/bin/icons/cil-user.png +0 -0
  246. ezqt_widgets-2.3.4/examples/bin/icons/cil-vertical-align-bottom.png +0 -0
  247. ezqt_widgets-2.3.4/examples/bin/icons/cil-view-column.png +0 -0
  248. ezqt_widgets-2.3.4/examples/bin/icons/cil-view-module.png +0 -0
  249. ezqt_widgets-2.3.4/examples/bin/icons/cil-view-quilt.png +0 -0
  250. ezqt_widgets-2.3.4/examples/bin/icons/cil-view-stream.png +0 -0
  251. ezqt_widgets-2.3.4/examples/bin/icons/cil-voice-over-record.png +0 -0
  252. ezqt_widgets-2.3.4/examples/bin/icons/cil-volume-high.png +0 -0
  253. ezqt_widgets-2.3.4/examples/bin/icons/cil-volume-low.png +0 -0
  254. ezqt_widgets-2.3.4/examples/bin/icons/cil-volume-off.png +0 -0
  255. ezqt_widgets-2.3.4/examples/bin/icons/cil-wallet.png +0 -0
  256. ezqt_widgets-2.3.4/examples/bin/icons/cil-watch.png +0 -0
  257. ezqt_widgets-2.3.4/examples/bin/icons/cil-wifi-signal-0.png +0 -0
  258. ezqt_widgets-2.3.4/examples/bin/icons/cil-wifi-signal-1.png +0 -0
  259. ezqt_widgets-2.3.4/examples/bin/icons/cil-wifi-signal-2.png +0 -0
  260. ezqt_widgets-2.3.4/examples/bin/icons/cil-wifi-signal-4.png +0 -0
  261. ezqt_widgets-2.3.4/examples/bin/icons/cil-wifi-signal-off.png +0 -0
  262. ezqt_widgets-2.3.4/examples/bin/icons/cil-window-maximize.png +0 -0
  263. ezqt_widgets-2.3.4/examples/bin/icons/cil-window-minimize.png +0 -0
  264. ezqt_widgets-2.3.4/examples/bin/icons/cil-window-restore.png +0 -0
  265. ezqt_widgets-2.3.4/examples/bin/icons/cil-wrap-text.png +0 -0
  266. ezqt_widgets-2.3.4/examples/bin/icons/cil-x-circle.png +0 -0
  267. ezqt_widgets-2.3.4/examples/bin/icons/cil-x.png +0 -0
  268. ezqt_widgets-2.3.4/examples/bin/icons/cil-zoom-in.png +0 -0
  269. ezqt_widgets-2.3.4/examples/bin/icons/cil-zoom-out.png +0 -0
  270. ezqt_widgets-2.3.4/examples/bin/icons/icon_add_user.svg +61 -0
  271. ezqt_widgets-2.3.4/examples/bin/icons/icon_attachment.svg +78 -0
  272. ezqt_widgets-2.3.4/examples/bin/icons/icon_busy.svg +60 -0
  273. ezqt_widgets-2.3.4/examples/bin/icons/icon_close.png +0 -0
  274. ezqt_widgets-2.3.4/examples/bin/icons/icon_close.svg +61 -0
  275. ezqt_widgets-2.3.4/examples/bin/icons/icon_emoticons.svg +78 -0
  276. ezqt_widgets-2.3.4/examples/bin/icons/icon_idle.svg +60 -0
  277. ezqt_widgets-2.3.4/examples/bin/icons/icon_invisible.svg +61 -0
  278. ezqt_widgets-2.3.4/examples/bin/icons/icon_maximize.png +0 -0
  279. ezqt_widgets-2.3.4/examples/bin/icons/icon_maximize.svg +61 -0
  280. ezqt_widgets-2.3.4/examples/bin/icons/icon_menu.png +0 -0
  281. ezqt_widgets-2.3.4/examples/bin/icons/icon_minimize.png +0 -0
  282. ezqt_widgets-2.3.4/examples/bin/icons/icon_minimize.svg +61 -0
  283. ezqt_widgets-2.3.4/examples/bin/icons/icon_more_options.svg +78 -0
  284. ezqt_widgets-2.3.4/examples/bin/icons/icon_online.svg +60 -0
  285. ezqt_widgets-2.3.4/examples/bin/icons/icon_restore.png +0 -0
  286. ezqt_widgets-2.3.4/examples/bin/icons/icon_restore.svg +60 -0
  287. ezqt_widgets-2.3.4/examples/bin/icons/icon_search.svg +60 -0
  288. ezqt_widgets-2.3.4/examples/bin/icons/icon_send.svg +78 -0
  289. ezqt_widgets-2.3.4/examples/bin/icons/icon_settings.png +0 -0
  290. ezqt_widgets-2.3.4/examples/bin/icons/icon_settings.svg +78 -0
  291. ezqt_widgets-2.3.4/examples/bin/icons/icon_signal.svg +78 -0
  292. ezqt_widgets-2.3.4/examples/bin/icons/material-circled-C.png +0 -0
  293. ezqt_widgets-2.3.4/examples/bin/icons/material-circled-K.png +0 -0
  294. ezqt_widgets-2.3.4/examples/bin/icons/material-copy-24.png +0 -0
  295. ezqt_widgets-2.3.4/examples/bin/icons/material-electricity.png +0 -0
  296. ezqt_widgets-2.3.4/examples/bin/icons/material-play-blue.png +0 -0
  297. ezqt_widgets-2.3.4/examples/bin/icons/material-stop-red.png +0 -0
  298. ezqt_widgets-2.3.4/examples/bin/icons/triangle_down.svg +3 -0
  299. ezqt_widgets-2.3.4/examples/bin/icons/triangle_up.svg +3 -0
  300. ezqt_widgets-2.3.4/examples/bin/main_theme.qss +937 -0
  301. ezqt_widgets-2.3.4/examples/button_example.py +400 -0
  302. ezqt_widgets-2.3.4/examples/input_example.py +411 -0
  303. ezqt_widgets-2.3.4/examples/label_example.py +521 -0
  304. ezqt_widgets-2.3.4/examples/misc_example.py +643 -0
  305. ezqt_widgets-2.3.4/examples/run_all_examples.py +471 -0
  306. ezqt_widgets-2.3.4/ezqt_widgets/__init__.py +151 -0
  307. ezqt_widgets-2.3.4/ezqt_widgets/button/__init__.py +32 -0
  308. ezqt_widgets-2.3.4/ezqt_widgets/button/date_button.py +547 -0
  309. ezqt_widgets-2.3.4/ezqt_widgets/button/icon_button.py +477 -0
  310. ezqt_widgets-2.3.4/ezqt_widgets/button/loader_button.py +753 -0
  311. ezqt_widgets-2.3.4/ezqt_widgets/cli/__init__.py +18 -0
  312. ezqt_widgets-2.3.4/ezqt_widgets/cli/main.py +277 -0
  313. ezqt_widgets-2.3.4/ezqt_widgets/cli/runner.py +266 -0
  314. ezqt_widgets-2.3.4/ezqt_widgets/input/__init__.py +32 -0
  315. ezqt_widgets-2.3.4/ezqt_widgets/input/auto_complete_input.py +227 -0
  316. ezqt_widgets-2.3.4/ezqt_widgets/input/password_input.py +620 -0
  317. ezqt_widgets-2.3.4/ezqt_widgets/input/search_input.py +313 -0
  318. ezqt_widgets-2.3.4/ezqt_widgets/input/tab_replace_textedit.py +242 -0
  319. ezqt_widgets-2.3.4/ezqt_widgets/label/__init__.py +33 -0
  320. ezqt_widgets-2.3.4/ezqt_widgets/label/clickable_tag_label.py +328 -0
  321. ezqt_widgets-2.3.4/ezqt_widgets/label/framed_label.py +220 -0
  322. ezqt_widgets-2.3.4/ezqt_widgets/label/hover_label.py +516 -0
  323. ezqt_widgets-2.3.4/ezqt_widgets/label/indicator_label.py +225 -0
  324. ezqt_widgets-2.3.4/ezqt_widgets/misc/__init__.py +37 -0
  325. ezqt_widgets-2.3.4/ezqt_widgets/misc/circular_timer.py +427 -0
  326. ezqt_widgets-2.3.4/ezqt_widgets/misc/draggable_list.py +905 -0
  327. ezqt_widgets-2.3.4/ezqt_widgets/misc/option_selector.py +487 -0
  328. ezqt_widgets-2.3.4/ezqt_widgets/misc/toggle_icon.py +534 -0
  329. ezqt_widgets-2.3.4/ezqt_widgets/misc/toggle_switch.py +343 -0
  330. ezqt_widgets-2.3.4/ezqt_widgets.egg-info/PKG-INFO +279 -0
  331. ezqt_widgets-2.3.4/ezqt_widgets.egg-info/SOURCES.txt +357 -0
  332. ezqt_widgets-2.3.4/ezqt_widgets.egg-info/dependency_links.txt +1 -0
  333. ezqt_widgets-2.3.4/ezqt_widgets.egg-info/requires.txt +36 -0
  334. ezqt_widgets-2.3.4/ezqt_widgets.egg-info/top_level.txt +1 -0
  335. ezqt_widgets-2.3.4/pyproject.toml +444 -0
  336. ezqt_widgets-2.3.4/setup.cfg +4 -0
  337. ezqt_widgets-2.3.4/tests/conftest.py +177 -0
  338. ezqt_widgets-2.3.4/tests/run_tests.py +119 -0
  339. ezqt_widgets-2.3.4/tests/unit/__init__.py +12 -0
  340. ezqt_widgets-2.3.4/tests/unit/test_button/__init__.py +13 -0
  341. ezqt_widgets-2.3.4/tests/unit/test_button/test_date_button.py +346 -0
  342. ezqt_widgets-2.3.4/tests/unit/test_button/test_icon_button.py +324 -0
  343. ezqt_widgets-2.3.4/tests/unit/test_button/test_loader_button.py +438 -0
  344. ezqt_widgets-2.3.4/tests/unit/test_input/__init__.py +13 -0
  345. ezqt_widgets-2.3.4/tests/unit/test_input/test_auto_complete_input.py +290 -0
  346. ezqt_widgets-2.3.4/tests/unit/test_input/test_password_input.py +496 -0
  347. ezqt_widgets-2.3.4/tests/unit/test_input/test_search_input.py +353 -0
  348. ezqt_widgets-2.3.4/tests/unit/test_input/test_tab_replace_textedit.py +392 -0
  349. ezqt_widgets-2.3.4/tests/unit/test_label/__init__.py +13 -0
  350. ezqt_widgets-2.3.4/tests/unit/test_label/test_clickable_tag_label.py +398 -0
  351. ezqt_widgets-2.3.4/tests/unit/test_label/test_framed_label.py +259 -0
  352. ezqt_widgets-2.3.4/tests/unit/test_label/test_hover_label.py +401 -0
  353. ezqt_widgets-2.3.4/tests/unit/test_label/test_indicator_label.py +309 -0
  354. ezqt_widgets-2.3.4/tests/unit/test_misc/__init__.py +13 -0
  355. ezqt_widgets-2.3.4/tests/unit/test_misc/test_circular_timer.py +186 -0
  356. ezqt_widgets-2.3.4/tests/unit/test_misc/test_draggable_list.py +555 -0
  357. ezqt_widgets-2.3.4/tests/unit/test_misc/test_option_selector.py +178 -0
  358. ezqt_widgets-2.3.4/tests/unit/test_misc/test_toggle_icon.py +175 -0
  359. ezqt_widgets-2.3.4/tests/unit/test_misc/test_toggle_switch.py +148 -0
@@ -0,0 +1,24 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Neuraaak
4
+
5
+ This project is made to be used with EzQt-App:
6
+ https://pypi.org/project/EzQt-App/
7
+
8
+ Permission is hereby granted, free of charge, to any person obtaining a copy
9
+ of this software and associated documentation files (the "Software"), to deal
10
+ in the Software without restriction, including without limitation the rights
11
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12
+ copies of the Software, and to permit persons to whom the Software is
13
+ furnished to do so, subject to the following conditions:
14
+
15
+ The above copyright notice and this permission notice shall be included in all
16
+ copies or substantial portions of the Software.
17
+
18
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
24
+ SOFTWARE.
@@ -0,0 +1,40 @@
1
+ # Documentation principale
2
+ include README.md
3
+ include CHANGELOG.md
4
+ include LICENSE
5
+ include MANIFEST.in
6
+
7
+ # Documentation dans docs/
8
+ recursive-include docs *.md
9
+
10
+ # Fichiers d'exemples - inclure tout le dossier examples
11
+ recursive-include examples *
12
+
13
+ # Fichiers de test
14
+ include tests/run_tests.py
15
+ include tests/conftest.py
16
+ recursive-include tests/unit *
17
+
18
+ # Fichiers CLI
19
+ include ezqt_widgets/cli/__init__.py
20
+ include ezqt_widgets/cli/main.py
21
+ include ezqt_widgets/cli/runner.py
22
+
23
+ # Exclure les fichiers inutiles
24
+ exclude build_upload.bat
25
+ exclude .coverage
26
+ exclude coverage.xml
27
+ exclude htmlcov/
28
+ exclude .pytest_cache/
29
+ exclude .benchmarks/
30
+ exclude _temp/
31
+ exclude *.tmp
32
+ exclude *.temp
33
+ prune build
34
+ prune dist
35
+ prune EzQt_Widgets.egg-info
36
+ prune __pycache__
37
+ prune .venv
38
+ prune .vscode
39
+ prune .idea
40
+ prune .git
@@ -0,0 +1,279 @@
1
+ Metadata-Version: 2.4
2
+ Name: ezqt-widgets
3
+ Version: 2.3.4
4
+ Summary: Une collection de widgets Qt personnalisés et réutilisables pour PySide6. Fournit des composants graphiques avancés, réutilisables et stylés pour faciliter le développement d'interfaces modernes et ergonomiques.
5
+ Author: Neuraaak
6
+ Maintainer: Neuraaak
7
+ License: MIT
8
+ Project-URL: Homepage, https://github.com/neuraaak/ezqt_widgets
9
+ Project-URL: Documentation, https://neuraaak.github.io/ezqt-widgets/
10
+ Project-URL: Repository, https://github.com/neuraaak/ezqt_widgets
11
+ Project-URL: PyPI, https://pypi.org/project/ezqt-widgets/
12
+ Keywords: qt,pyside6,widgets,gui,interface,components,ui,desktop
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Programming Language :: Python :: 3.13
18
+ Classifier: License :: OSI Approved :: MIT License
19
+ Classifier: Operating System :: OS Independent
20
+ Classifier: Development Status :: 5 - Production/Stable
21
+ Classifier: Intended Audience :: Developers
22
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
23
+ Classifier: Topic :: Software Development :: User Interfaces
24
+ Classifier: Topic :: Desktop Environment
25
+ Classifier: Topic :: Software Development :: Widget Sets
26
+ Requires-Python: >=3.10
27
+ Description-Content-Type: text/markdown
28
+ License-File: LICENSE
29
+ Requires-Dist: PySide6<7.0.0,>=6.7.3
30
+ Requires-Dist: requests>=2.32.4
31
+ Requires-Dist: click>=8.2.1
32
+ Requires-Dist: PyYAML>=6.0
33
+ Requires-Dist: typing_extensions>=4.0.0
34
+ Provides-Extra: dev
35
+ Requires-Dist: black>=23.0.0; extra == "dev"
36
+ Requires-Dist: isort>=5.12.0; extra == "dev"
37
+ Requires-Dist: ruff>=0.1.0; extra == "dev"
38
+ Requires-Dist: ty>=0.0.13; extra == "dev"
39
+ Requires-Dist: pyright>=1.1.0; extra == "dev"
40
+ Requires-Dist: pre-commit>=3.0.0; extra == "dev"
41
+ Requires-Dist: bandit>=1.7.0; extra == "dev"
42
+ Requires-Dist: pytest>=7.0.0; extra == "dev"
43
+ Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
44
+ Requires-Dist: pytest-mock>=3.10.0; extra == "dev"
45
+ Requires-Dist: pytest-xdist>=3.0.0; extra == "dev"
46
+ Requires-Dist: build>=1.0.0; extra == "dev"
47
+ Requires-Dist: twine>=4.0.0; extra == "dev"
48
+ Requires-Dist: mkdocs>=1.6.0; extra == "dev"
49
+ Requires-Dist: mkdocs-material>=9.5.0; extra == "dev"
50
+ Requires-Dist: mkdocstrings[python]>=0.27.0; extra == "dev"
51
+ Requires-Dist: mkdocs-section-index>=0.3.0; extra == "dev"
52
+ Provides-Extra: test
53
+ Requires-Dist: pytest>=7.0.0; extra == "test"
54
+ Requires-Dist: pytest-cov>=4.0.0; extra == "test"
55
+ Requires-Dist: pytest-mock>=3.10.0; extra == "test"
56
+ Requires-Dist: pytest-xdist>=3.0.0; extra == "test"
57
+ Provides-Extra: docs
58
+ Requires-Dist: mkdocs>=1.6.0; extra == "docs"
59
+ Requires-Dist: mkdocs-material>=9.5.0; extra == "docs"
60
+ Requires-Dist: mkdocstrings[python]>=0.27.0; extra == "docs"
61
+ Requires-Dist: mkdocs-section-index>=0.3.0; extra == "docs"
62
+ Dynamic: license-file
63
+
64
+ # 🎨 EzQt Widgets
65
+
66
+ [![Python](https://img.shields.io/badge/Python-3.10%2B-blue.svg?style=for-the-badge&logo=python)](https://www.python.org/)
67
+ [![Platform](https://img.shields.io/badge/OS-Independent-lightgray.svg?style=for-the-badge)](https://pypi.org/project/ezqt-widgets/)
68
+ [![Version](https://img.shields.io/badge/Version-2.3.4-orange.svg?style=for-the-badge)](https://pypi.org/project/ezqt-widgets/)
69
+ [![PyPI](https://img.shields.io/badge/PyPI-EzQt--Widgets-green.svg?style=for-the-badge&logo=pypi)](https://pypi.org/project/ezqt-widgets/)
70
+ [![Docs](https://img.shields.io/badge/Docs-Online-blue.svg?style=for-the-badge&logo=readthedocs)](https://neuraaak.github.io/ezqt-widgets/)
71
+ [![License](https://img.shields.io/badge/License-MIT-green.svg?style=for-the-badge)](LICENSE)
72
+ [![Status](https://img.shields.io/badge/Status-Production%20Ready-success.svg?style=for-the-badge)](https://github.com/neuraaak/ezqt_widgets)
73
+ [![Tests](https://img.shields.io/badge/Tests-304%2F305%20passing-success.svg?style=for-the-badge)](https://github.com/neuraaak/ezqt_widgets)
74
+ [![Coverage](https://img.shields.io/badge/Coverage-75%25-success.svg?style=for-the-badge)](https://github.com/neuraaak/ezqt_widgets)
75
+
76
+ ![EzQt Widgets Logo](docs/assets/logo-min.png)
77
+
78
+ **EzQt Widgets** is a modern collection of custom and reusable Qt widgets for **PySide6** featuring advanced animated components, full type hints, and a simple API suitable for professional desktop applications.
79
+
80
+ ## 📦 Installation
81
+
82
+ ```bash
83
+ pip install ezqt-widgets
84
+ ```
85
+
86
+ Or from source:
87
+
88
+ ```bash
89
+ git clone https://github.com/neuraaak/ezqt_widgets.git
90
+ cd ezqt_widgets && pip install .
91
+ ```
92
+
93
+ ## 🚀 Quick Start
94
+
95
+ ```python
96
+ from ezqt_widgets import DateButton, IconButton, ToggleSwitch, AutoCompleteInput
97
+ from PySide6.QtWidgets import QApplication, QVBoxLayout, QWidget
98
+
99
+ app = QApplication([])
100
+ window = QWidget()
101
+ layout = QVBoxLayout()
102
+
103
+ # Create widgets
104
+ date_button = DateButton(placeholder="Select a date")
105
+ icon_button = IconButton(icon="path/to/icon.png", text="Click me")
106
+ toggle = ToggleSwitch(checked=True)
107
+ auto_input = AutoCompleteInput(completions=["Option 1", "Option 2", "Option 3"])
108
+
109
+ # Connect signals
110
+ date_button.dateChanged.connect(lambda date: print(f"Date: {date}"))
111
+ icon_button.clicked.connect(lambda: print("Button clicked"))
112
+ toggle.toggled.connect(lambda checked: print(f"Toggle: {checked}"))
113
+
114
+ # Add to layout
115
+ layout.addWidget(date_button)
116
+ layout.addWidget(icon_button)
117
+ layout.addWidget(toggle)
118
+ layout.addWidget(auto_input)
119
+
120
+ window.setLayout(layout)
121
+ window.show()
122
+ app.exec()
123
+ ```
124
+
125
+ ## 🎯 Key Features
126
+
127
+ - **✅ PySide6 Compatible**: All widgets based on PySide6
128
+ - **✅ Full Type Hints**: Complete typing support for IDEs and linters
129
+ - **✅ Qt Signals**: Native integration with Qt signal system
130
+ - **✅ QSS Styling**: Complete Qt stylesheet support
131
+ - **✅ Smooth Animations**: Configurable animations with easing curves
132
+ - **✅ Accessibility**: Accessibility features support
133
+ - **✅ Comprehensive Tests**: Complete test suite (~211 tests, ~80% coverage)
134
+ - **✅ CLI Tools**: Command-line interface for examples and testing
135
+
136
+ ## 📚 Documentation
137
+
138
+ Full documentation is available online: **[neuraaak.github.io/ezqt-widgets](https://neuraaak.github.io/ezqt-widgets/)**
139
+
140
+ - **[📖 Getting Started](https://neuraaak.github.io/ezqt_widgets/getting-started/)** – Installation and first steps
141
+ - **[🎯 API Reference](https://neuraaak.github.io/ezqt_widgets/api/)** – Complete widget reference (auto-generated)
142
+ - **[🎨 QSS Style Guide](https://neuraaak.github.io/ezqt_widgets/guides/style-guide/)** – QSS customization and best practices
143
+ - **[💡 Examples](https://neuraaak.github.io/ezqt_widgets/examples/)** – Usage examples and demonstrations
144
+ - **[🖥️ CLI](https://neuraaak.github.io/ezqt_widgets/cli/)** – Command-line interface guide
145
+ - **[🧪 Testing](https://neuraaak.github.io/ezqt_widgets/guides/testing/)** – Test suite documentation
146
+ - **[🔧 Development](https://neuraaak.github.io/ezqt_widgets/guides/development/)** – Environment setup and contribution
147
+
148
+ ## 🧪 Testing
149
+
150
+ Comprehensive test suite with 211+ test cases covering all widgets.
151
+
152
+ ```bash
153
+ # Install dev dependencies
154
+ pip install -e ".[dev]"
155
+
156
+ # Run all tests
157
+ pytest tests/
158
+
159
+ # Run specific test types
160
+ python tests/run_tests.py --type unit
161
+
162
+ # With coverage
163
+ python tests/run_tests.py --coverage
164
+
165
+ # Using CLI
166
+ ezqt test --unit
167
+ ezqt test --coverage
168
+ ```
169
+
170
+ See the **[Testing Guide](https://neuraaak.github.io/ezqt_widgets/guides/testing/)** for complete details.
171
+
172
+ ## 🛠️ Development Setup
173
+
174
+ For contributors and developers:
175
+
176
+ ```bash
177
+ # Clone and install in development mode
178
+ git clone https://github.com/neuraaak/ezqt_widgets.git
179
+ cd ezqt_widgets
180
+ pip install -e ".[dev]"
181
+
182
+ # Install pre-commit hooks
183
+ pip install pre-commit
184
+ pre-commit install
185
+
186
+ # Verify CLI installation
187
+ ezqt --version
188
+ ezqt info
189
+ ```
190
+
191
+ See the **[Development Guide](https://neuraaak.github.io/ezqt_widgets/guides/development/)** for detailed setup instructions.
192
+
193
+ ## 🎨 Available Widgets
194
+
195
+ ### 🎛️ Button Widgets (3)
196
+
197
+ | Widget | Description |
198
+ | ---------------- | ------------------------------------------- |
199
+ | **DateButton** | Date picker button with integrated calendar |
200
+ | **IconButton** | Button with icon support and optional text |
201
+ | **LoaderButton** | Button with integrated loading animation |
202
+
203
+ ### ⌨️ Input Widgets (3)
204
+
205
+ | Widget | Description |
206
+ | ---------------------- | ------------------------------------ |
207
+ | **AutoCompleteInput** | Text field with autocompletion |
208
+ | **SearchInput** | Search field with history management |
209
+ | **TabReplaceTextEdit** | Text editor with tab replacement |
210
+
211
+ ### 🏷️ Label Widgets (4)
212
+
213
+ | Widget | Description |
214
+ | --------------------- | --------------------------------- |
215
+ | **ClickableTagLabel** | Clickable tag with toggle state |
216
+ | **FramedLabel** | Framed label for advanced styling |
217
+ | **HoverLabel** | Label with hover icon display |
218
+ | **IndicatorLabel** | Status indicator with colored LED |
219
+
220
+ ### 🔧 Miscellaneous Widgets (6)
221
+
222
+ | Widget | Description |
223
+ | ------------------ | ----------------------------------------- |
224
+ | **CircularTimer** | Animated circular timer |
225
+ | **DraggableItem** | Draggable list item component |
226
+ | **DraggableList** | List with draggable and reorderable items |
227
+ | **OptionSelector** | Option selector with animated selector |
228
+ | **ToggleIcon** | Toggleable icon (open/closed states) |
229
+ | **ToggleSwitch** | Modern toggle switch with animation |
230
+
231
+ ## 📦 Dependencies
232
+
233
+ - **PySide6>=6.0.0** – Qt for Python framework
234
+ - **typing_extensions>=4.0.0** – Extended typing support
235
+
236
+ ## 🔧 Quick API Reference
237
+
238
+ ```python
239
+ from ezqt_widgets import (
240
+ # Button widgets
241
+ DateButton, IconButton, LoaderButton,
242
+ # Input widgets
243
+ AutoCompleteInput, SearchInput, TabReplaceTextEdit,
244
+ # Label widgets
245
+ ClickableTagLabel, FramedLabel, HoverLabel, IndicatorLabel,
246
+ # Misc widgets
247
+ CircularTimer, DraggableList, OptionSelector, ToggleIcon, ToggleSwitch,
248
+ )
249
+
250
+ # Button examples
251
+ date_btn = DateButton(placeholder="Select date")
252
+ icon_btn = IconButton(icon="path/to/icon.png", text="Click")
253
+ loader_btn = LoaderButton(loading_text="Loading...")
254
+
255
+ # Input examples
256
+ auto_input = AutoCompleteInput(completions=["A", "B", "C"])
257
+ search_input = SearchInput(max_history=20)
258
+
259
+ # Misc examples
260
+ timer = CircularTimer(duration=5000, loop=True)
261
+ switch = ToggleSwitch(checked=True)
262
+ selector = OptionSelector(options=["Small", "Medium", "Large"])
263
+ ```
264
+
265
+ ## 📄 License
266
+
267
+ MIT License – See [LICENSE](LICENSE) file for details.
268
+
269
+ ## 🔗 Links
270
+
271
+ - **Repository**: [https://github.com/neuraaak/ezqt_widgets](https://github.com/neuraaak/ezqt_widgets)
272
+ - **Issues**: [GitHub Issues](https://github.com/neuraaak/ezqt_widgets/issues)
273
+ - **Documentation**: [neuraaak.github.io/ezqt_widgets](https://neuraaak.github.io/ezqt-widgets/)
274
+ - **PyPI**: [pypi.org/project/ezqt-widgets](https://pypi.org/project/ezqt-widgets/)
275
+ - **Changelog**: [CHANGELOG.md](CHANGELOG.md)
276
+
277
+ ---
278
+
279
+ **EzQt Widgets** – Modern, typed, and beautiful Qt widgets for Python. 🎨
@@ -0,0 +1,216 @@
1
+ # 🎨 EzQt Widgets
2
+
3
+ [![Python](https://img.shields.io/badge/Python-3.10%2B-blue.svg?style=for-the-badge&logo=python)](https://www.python.org/)
4
+ [![Platform](https://img.shields.io/badge/OS-Independent-lightgray.svg?style=for-the-badge)](https://pypi.org/project/ezqt-widgets/)
5
+ [![Version](https://img.shields.io/badge/Version-2.3.4-orange.svg?style=for-the-badge)](https://pypi.org/project/ezqt-widgets/)
6
+ [![PyPI](https://img.shields.io/badge/PyPI-EzQt--Widgets-green.svg?style=for-the-badge&logo=pypi)](https://pypi.org/project/ezqt-widgets/)
7
+ [![Docs](https://img.shields.io/badge/Docs-Online-blue.svg?style=for-the-badge&logo=readthedocs)](https://neuraaak.github.io/ezqt-widgets/)
8
+ [![License](https://img.shields.io/badge/License-MIT-green.svg?style=for-the-badge)](LICENSE)
9
+ [![Status](https://img.shields.io/badge/Status-Production%20Ready-success.svg?style=for-the-badge)](https://github.com/neuraaak/ezqt_widgets)
10
+ [![Tests](https://img.shields.io/badge/Tests-304%2F305%20passing-success.svg?style=for-the-badge)](https://github.com/neuraaak/ezqt_widgets)
11
+ [![Coverage](https://img.shields.io/badge/Coverage-75%25-success.svg?style=for-the-badge)](https://github.com/neuraaak/ezqt_widgets)
12
+
13
+ ![EzQt Widgets Logo](docs/assets/logo-min.png)
14
+
15
+ **EzQt Widgets** is a modern collection of custom and reusable Qt widgets for **PySide6** featuring advanced animated components, full type hints, and a simple API suitable for professional desktop applications.
16
+
17
+ ## 📦 Installation
18
+
19
+ ```bash
20
+ pip install ezqt-widgets
21
+ ```
22
+
23
+ Or from source:
24
+
25
+ ```bash
26
+ git clone https://github.com/neuraaak/ezqt_widgets.git
27
+ cd ezqt_widgets && pip install .
28
+ ```
29
+
30
+ ## 🚀 Quick Start
31
+
32
+ ```python
33
+ from ezqt_widgets import DateButton, IconButton, ToggleSwitch, AutoCompleteInput
34
+ from PySide6.QtWidgets import QApplication, QVBoxLayout, QWidget
35
+
36
+ app = QApplication([])
37
+ window = QWidget()
38
+ layout = QVBoxLayout()
39
+
40
+ # Create widgets
41
+ date_button = DateButton(placeholder="Select a date")
42
+ icon_button = IconButton(icon="path/to/icon.png", text="Click me")
43
+ toggle = ToggleSwitch(checked=True)
44
+ auto_input = AutoCompleteInput(completions=["Option 1", "Option 2", "Option 3"])
45
+
46
+ # Connect signals
47
+ date_button.dateChanged.connect(lambda date: print(f"Date: {date}"))
48
+ icon_button.clicked.connect(lambda: print("Button clicked"))
49
+ toggle.toggled.connect(lambda checked: print(f"Toggle: {checked}"))
50
+
51
+ # Add to layout
52
+ layout.addWidget(date_button)
53
+ layout.addWidget(icon_button)
54
+ layout.addWidget(toggle)
55
+ layout.addWidget(auto_input)
56
+
57
+ window.setLayout(layout)
58
+ window.show()
59
+ app.exec()
60
+ ```
61
+
62
+ ## 🎯 Key Features
63
+
64
+ - **✅ PySide6 Compatible**: All widgets based on PySide6
65
+ - **✅ Full Type Hints**: Complete typing support for IDEs and linters
66
+ - **✅ Qt Signals**: Native integration with Qt signal system
67
+ - **✅ QSS Styling**: Complete Qt stylesheet support
68
+ - **✅ Smooth Animations**: Configurable animations with easing curves
69
+ - **✅ Accessibility**: Accessibility features support
70
+ - **✅ Comprehensive Tests**: Complete test suite (~211 tests, ~80% coverage)
71
+ - **✅ CLI Tools**: Command-line interface for examples and testing
72
+
73
+ ## 📚 Documentation
74
+
75
+ Full documentation is available online: **[neuraaak.github.io/ezqt-widgets](https://neuraaak.github.io/ezqt-widgets/)**
76
+
77
+ - **[📖 Getting Started](https://neuraaak.github.io/ezqt_widgets/getting-started/)** – Installation and first steps
78
+ - **[🎯 API Reference](https://neuraaak.github.io/ezqt_widgets/api/)** – Complete widget reference (auto-generated)
79
+ - **[🎨 QSS Style Guide](https://neuraaak.github.io/ezqt_widgets/guides/style-guide/)** – QSS customization and best practices
80
+ - **[💡 Examples](https://neuraaak.github.io/ezqt_widgets/examples/)** – Usage examples and demonstrations
81
+ - **[🖥️ CLI](https://neuraaak.github.io/ezqt_widgets/cli/)** – Command-line interface guide
82
+ - **[🧪 Testing](https://neuraaak.github.io/ezqt_widgets/guides/testing/)** – Test suite documentation
83
+ - **[🔧 Development](https://neuraaak.github.io/ezqt_widgets/guides/development/)** – Environment setup and contribution
84
+
85
+ ## 🧪 Testing
86
+
87
+ Comprehensive test suite with 211+ test cases covering all widgets.
88
+
89
+ ```bash
90
+ # Install dev dependencies
91
+ pip install -e ".[dev]"
92
+
93
+ # Run all tests
94
+ pytest tests/
95
+
96
+ # Run specific test types
97
+ python tests/run_tests.py --type unit
98
+
99
+ # With coverage
100
+ python tests/run_tests.py --coverage
101
+
102
+ # Using CLI
103
+ ezqt test --unit
104
+ ezqt test --coverage
105
+ ```
106
+
107
+ See the **[Testing Guide](https://neuraaak.github.io/ezqt_widgets/guides/testing/)** for complete details.
108
+
109
+ ## 🛠️ Development Setup
110
+
111
+ For contributors and developers:
112
+
113
+ ```bash
114
+ # Clone and install in development mode
115
+ git clone https://github.com/neuraaak/ezqt_widgets.git
116
+ cd ezqt_widgets
117
+ pip install -e ".[dev]"
118
+
119
+ # Install pre-commit hooks
120
+ pip install pre-commit
121
+ pre-commit install
122
+
123
+ # Verify CLI installation
124
+ ezqt --version
125
+ ezqt info
126
+ ```
127
+
128
+ See the **[Development Guide](https://neuraaak.github.io/ezqt_widgets/guides/development/)** for detailed setup instructions.
129
+
130
+ ## 🎨 Available Widgets
131
+
132
+ ### 🎛️ Button Widgets (3)
133
+
134
+ | Widget | Description |
135
+ | ---------------- | ------------------------------------------- |
136
+ | **DateButton** | Date picker button with integrated calendar |
137
+ | **IconButton** | Button with icon support and optional text |
138
+ | **LoaderButton** | Button with integrated loading animation |
139
+
140
+ ### ⌨️ Input Widgets (3)
141
+
142
+ | Widget | Description |
143
+ | ---------------------- | ------------------------------------ |
144
+ | **AutoCompleteInput** | Text field with autocompletion |
145
+ | **SearchInput** | Search field with history management |
146
+ | **TabReplaceTextEdit** | Text editor with tab replacement |
147
+
148
+ ### 🏷️ Label Widgets (4)
149
+
150
+ | Widget | Description |
151
+ | --------------------- | --------------------------------- |
152
+ | **ClickableTagLabel** | Clickable tag with toggle state |
153
+ | **FramedLabel** | Framed label for advanced styling |
154
+ | **HoverLabel** | Label with hover icon display |
155
+ | **IndicatorLabel** | Status indicator with colored LED |
156
+
157
+ ### 🔧 Miscellaneous Widgets (6)
158
+
159
+ | Widget | Description |
160
+ | ------------------ | ----------------------------------------- |
161
+ | **CircularTimer** | Animated circular timer |
162
+ | **DraggableItem** | Draggable list item component |
163
+ | **DraggableList** | List with draggable and reorderable items |
164
+ | **OptionSelector** | Option selector with animated selector |
165
+ | **ToggleIcon** | Toggleable icon (open/closed states) |
166
+ | **ToggleSwitch** | Modern toggle switch with animation |
167
+
168
+ ## 📦 Dependencies
169
+
170
+ - **PySide6>=6.0.0** – Qt for Python framework
171
+ - **typing_extensions>=4.0.0** – Extended typing support
172
+
173
+ ## 🔧 Quick API Reference
174
+
175
+ ```python
176
+ from ezqt_widgets import (
177
+ # Button widgets
178
+ DateButton, IconButton, LoaderButton,
179
+ # Input widgets
180
+ AutoCompleteInput, SearchInput, TabReplaceTextEdit,
181
+ # Label widgets
182
+ ClickableTagLabel, FramedLabel, HoverLabel, IndicatorLabel,
183
+ # Misc widgets
184
+ CircularTimer, DraggableList, OptionSelector, ToggleIcon, ToggleSwitch,
185
+ )
186
+
187
+ # Button examples
188
+ date_btn = DateButton(placeholder="Select date")
189
+ icon_btn = IconButton(icon="path/to/icon.png", text="Click")
190
+ loader_btn = LoaderButton(loading_text="Loading...")
191
+
192
+ # Input examples
193
+ auto_input = AutoCompleteInput(completions=["A", "B", "C"])
194
+ search_input = SearchInput(max_history=20)
195
+
196
+ # Misc examples
197
+ timer = CircularTimer(duration=5000, loop=True)
198
+ switch = ToggleSwitch(checked=True)
199
+ selector = OptionSelector(options=["Small", "Medium", "Large"])
200
+ ```
201
+
202
+ ## 📄 License
203
+
204
+ MIT License – See [LICENSE](LICENSE) file for details.
205
+
206
+ ## 🔗 Links
207
+
208
+ - **Repository**: [https://github.com/neuraaak/ezqt_widgets](https://github.com/neuraaak/ezqt_widgets)
209
+ - **Issues**: [GitHub Issues](https://github.com/neuraaak/ezqt_widgets/issues)
210
+ - **Documentation**: [neuraaak.github.io/ezqt_widgets](https://neuraaak.github.io/ezqt-widgets/)
211
+ - **PyPI**: [pypi.org/project/ezqt-widgets](https://pypi.org/project/ezqt-widgets/)
212
+ - **Changelog**: [CHANGELOG.md](CHANGELOG.md)
213
+
214
+ ---
215
+
216
+ **EzQt Widgets** – Modern, typed, and beautiful Qt widgets for Python. 🎨
@@ -0,0 +1,28 @@
1
+ # Button Widgets
2
+
3
+ Specialized button widgets with advanced functionality: date selection with
4
+ calendar popup, icon-enhanced buttons and buttons with loading animations.
5
+
6
+ ---
7
+
8
+ ## DateButton
9
+
10
+ ::: ezqt_widgets.button.date_button.DateButton
11
+
12
+ ---
13
+
14
+ ## DatePickerDialog
15
+
16
+ ::: ezqt_widgets.button.date_button.DatePickerDialog
17
+
18
+ ---
19
+
20
+ ## IconButton
21
+
22
+ ::: ezqt_widgets.button.icon_button.IconButton
23
+
24
+ ---
25
+
26
+ ## LoaderButton
27
+
28
+ ::: ezqt_widgets.button.loader_button.LoaderButton