{ "cells": [ { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Dataobject table\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from itom import ui\nfrom itom import dataObject\n\ndef printContent():\n gui.table[\"data\"].data()\n\n\ndef printInfo():\n gui.table.info()\n\n\ndef cellClicked(row, column):\n # see statusbar example for details about accessing the statusBar of a QMainWindow\n gui.call(\"statusBar\").call(\n \"showMessage\",\n \"cell clicked. row:\" + str(row) + \", col:\" + str(column),\n 1000,\n )\n\n\ndef radioUInt8Clicked():\n gui.table[\"data\"] = dataObject.randN([10, 20], \"uint8\")\n gui.spinDecimals[\"enabled\"] = False\n gui.spinDecimalsEditing[\"enabled\"] = False\n gui.table[\"horizontalResizeMode\"] = \"ResizeToContents\"\n\n\ndef radioFloat32Clicked():\n gui.table[\"data\"] = dataObject.randN([2, 2], \"float32\")\n gui.spinDecimals[\"enabled\"] = True\n gui.spinDecimalsEditing[\"enabled\"] = True\n gui.table[\"horizontalResizeMode\"] = \"Stretch\"\n\n\ndef radioComplex64Clicked():\n gui.table[\"data\"] = dataObject.randN([3, 4], \"complex64\")\n gui.spinDecimals[\"enabled\"] = True\n gui.spinDecimalsEditing[\"enabled\"] = True\n gui.table[\"horizontalResizeMode\"] = \"Stretch\"\n\n\ndef spinDecimalsChanged(val):\n gui.table[\"decimals\"] = val\n\n\ndef spinDecimalsEditingChanged(val):\n gui.table[\"editorDecimals\"] = val\n\n\ndef checkReadonlyChanged(val):\n gui.table[\"readOnly\"] = val\n\n\ndef comboLabelsChanged(idx):\n if idx == 0:\n gui.table[\"suffixes\"] = ()\n gui.table[\"horizontalLabels\"] = ()\n gui.table[\"verticalLabels\"] = ()\n gui.table[\"horizontalHeaderVisible\"] = True\n gui.table[\"verticalHeaderVisible\"] = True\n elif idx == 1:\n gui.table[\"suffixes\"] = (\" mm\",)\n gui.table[\"horizontalLabels\"] = (\"row 1\", \"row 2\", \"row 3\")\n gui.table[\"verticalLabels\"] = (\"col 1\", \"col 2\", \"col 3\", \"col 4\")\n gui.table[\"horizontalHeaderVisible\"] = True\n gui.table[\"verticalHeaderVisible\"] = True\n elif idx == 2:\n gui.table[\"suffixes\"] = (\" mm\", u\" \\xb0\", \"\")\n gui.table[\"horizontalHeaderVisible\"] = False\n gui.table[\"verticalHeaderVisible\"] = False\n\n\ngui = ui(\"dataObjectTableDemo.ui\", ui.TYPEWINDOW, deleteOnClose=True)\nradioUInt8Clicked()\ngui.spinDecimals[\"value\"] = gui.table[\"decimals\"]\ngui.spinDecimalsEditing[\"value\"] = gui.table[\"editorDecimals\"]\n\ngui.cmdPrint.connect(\"clicked()\", printContent)\ngui.cmdPrintInfo.connect(\"clicked()\", printInfo)\ngui.radioUInt8.connect(\"clicked()\", radioUInt8Clicked)\ngui.radioFloat32.connect(\"clicked()\", radioFloat32Clicked)\ngui.radioComplex64.connect(\"clicked()\", radioComplex64Clicked)\ngui.spinDecimals.connect(\"valueChanged(int)\", spinDecimalsChanged)\ngui.spinDecimalsEditing.connect(\"valueChanged(int)\", spinDecimalsEditingChanged)\ngui.checkReadonly.connect(\"toggled(bool)\", checkReadonlyChanged)\ngui.comboLabels.connect(\"currentIndexChanged(int)\", comboLabelsChanged)\ngui.table.connect(\"clicked(int,int)\", cellClicked)\n\ngui.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.10" } }, "nbformat": 4, "nbformat_minor": 0 }