{ "info": { "author": "Tamir Bahar", "author_email": "", "bugtrack_url": null, "classifiers": [], "description": "Cute\r\n====\r\n\r\nCross-Qt compatibility module for IDAPython.\r\n\r\nWhat is it?\r\n-----------\r\n\r\nCute is a tiny compatibility module, to allow IDAPython code to use\r\nPySide/Qt4 and PyQt/Qt5 seamlessly.\r\n\r\nMotivation\r\n----------\r\n\r\nCute was originally a part of\r\n`Sark `__\r\n(``sark.qt``). Since no-one likes dependencies, especially for things\r\nthis small, no-one used it. So I decided to release it as a separate\r\nmodule as well, so that people can just take the file as-is and use it\r\nin their own code.\r\n\r\nUsage\r\n-----\r\n\r\nQt Modules\r\n~~~~~~~~~~\r\n\r\nImporting ``QtCore``, ``QtGui`` and ``QtWidgets`` works for all Qt\r\nversions. For Qt4, ``QtWidgets`` is an alias for ``QtGui``, so Qt5 code\r\nwith ``QtWidgets`` / ``QtGui`` separation will work on Qt4 as well.\r\n\r\n::\r\n\r\n from cute import QtCure, QtGui, QtWidgets\r\n\r\nConnecting to Signals\r\n~~~~~~~~~~~~~~~~~~~~~\r\n\r\nCute offers a ``cute.connect(...)`` method to mitigate the difference\r\nbetween Qt4 and Qt5.\r\n\r\n::\r\n\r\n # Qt4 Code:\r\n QtCore.QObject.connect(my_object, QtCore.SIGNAL('error(QProcess::ProcessError)'), my_callback)\r\n\r\n # Qt5 Code:\r\n my_object.error.connect(my_callback)\r\n\r\n # Cute Code:\r\n cute.connect(my_object, 'error(QProcess::ProcessError)', my_callback)\r\n\r\nThe API for disconnecting is the same, just use the\r\n``cute.disconnect(...)`` function.\r\n\r\nForm to Widget\r\n~~~~~~~~~~~~~~\r\n\r\nIDA has 2 APIs for getting the widget associated with a TForm. One for\r\nPyQt and one for PySide. Cute wraps them both in one function.\r\n\r\n::\r\n\r\n my_widget = cute.form_to_widget(my_tform)\r\n\r\nWhich Qt Should I Use?\r\n~~~~~~~~~~~~~~~~~~~~~~\r\n\r\nSometimes, you *do* need to to know the Qt version your code uses. For\r\nthose cases, ask the ``use_qt5`` variable.\r\n\r\n::\r\n\r\n if cute.use_qt5:\r\n print 'Use Qt5'\r\n else:\r\n print 'Use Qt4'\r\n\r\nIn a Project\r\n~~~~~~~~~~~~\r\n\r\nThere are two recommended ways to use Cute:\r\n\r\n#. Copy it into your own project. This way *does* create code duplication, but avoid dependencies.\r\n#. Install it as a package - ``pip install idacute``.\r\n\r\n\r\nLicensing\r\n---------\r\n\r\nCute is released under the MIT license, so you are free to use it in any\r\nproject whatsoever.\r\n\r\nFAQ\r\n---\r\n\r\n**Q:** Why did you name it \"cute\"?\r\n\r\n**A:** For years I was sure \"Qt\" is pronounced \"Q T\". This is my effort\r\nto remind myself it is not.", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/tmr232/Cute", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "idacute", "package_url": "https://pypi.org/project/idacute/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/idacute/", "project_urls": { "Homepage": "https://github.com/tmr232/Cute" }, "release_url": "https://pypi.org/project/idacute/1.0.1/", "requires_dist": null, "requires_python": "", "summary": "Cross-Qt compatibility module for IDAPython", "version": "1.0.1" }, "last_serial": 5919283, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "8c5c79439e117f131bce47c888ed21a5", "sha256": "82be01e1f96e634f3a8f0157a95a3ed4d6bc2df710785b3f587d3a8975449a0f" }, "downloads": -1, "filename": "IDACute-1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "8c5c79439e117f131bce47c888ed21a5", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 5341, "upload_time": "2016-02-01T09:27:53", "url": "https://files.pythonhosted.org/packages/28/c9/4707c0e304265f3bb47b10772272ae40ea5ef6261cbdd41388aca64c0798/IDACute-1.0-py2-none-any.whl" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "0b4c85af8070157b3868a699af7c0bd1", "sha256": "c70c168ab127a69bd4d6d507bb565eaad14ed645e7de361980438c1150515b95" }, "downloads": -1, "filename": "idacute-1.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "0b4c85af8070157b3868a699af7c0bd1", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 7600, "upload_time": "2016-02-01T09:36:03", "url": "https://files.pythonhosted.org/packages/37/95/479358e5d98e5bdad5a24788acd08c2d7d53b66e77cc40e5dcbed6954f80/idacute-1.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f8f9dad54ca800f05ab75b797be04a18", "sha256": "8a8d7dbc3d345616db4616145d22f0dccdb0976c74a5cb4faabf7a5e446d2957" }, "downloads": -1, "filename": "idacute-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f8f9dad54ca800f05ab75b797be04a18", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5748, "upload_time": "2019-10-02T17:50:05", "url": "https://files.pythonhosted.org/packages/48/30/b9fd9c14694aed8923563c5cda9b3526baf0b1f2d06b49151185d9c923c9/idacute-1.0.1-py2.py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0b4c85af8070157b3868a699af7c0bd1", "sha256": "c70c168ab127a69bd4d6d507bb565eaad14ed645e7de361980438c1150515b95" }, "downloads": -1, "filename": "idacute-1.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "0b4c85af8070157b3868a699af7c0bd1", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 7600, "upload_time": "2016-02-01T09:36:03", "url": "https://files.pythonhosted.org/packages/37/95/479358e5d98e5bdad5a24788acd08c2d7d53b66e77cc40e5dcbed6954f80/idacute-1.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f8f9dad54ca800f05ab75b797be04a18", "sha256": "8a8d7dbc3d345616db4616145d22f0dccdb0976c74a5cb4faabf7a5e446d2957" }, "downloads": -1, "filename": "idacute-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f8f9dad54ca800f05ab75b797be04a18", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5748, "upload_time": "2019-10-02T17:50:05", "url": "https://files.pythonhosted.org/packages/48/30/b9fd9c14694aed8923563c5cda9b3526baf0b1f2d06b49151185d9c923c9/idacute-1.0.1-py2.py3-none-any.whl" } ] }