# Can qSlicerSimpleMarkupsNodes edit MarkupsLineNodes?

**URL:** <https://discourse.slicer.org/t/can-qslicersimplemarkupsnodes-edit-markupslinenodes/44152>\
**Category:** Development\
**Created:** [August 20, 2025, 10:06pm UTC](https://discourse.slicer.org/t/can-qslicersimplemarkupsnodes-edit-markupslinenodes/44152 "2025-08-20T22:06:37Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![mrsh0r3s](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/mrsh0r3s/32/80860_2.png) [@mrsh0r3s](https://discourse.slicer.org/u/mrsh0r3s)\
**Post date:** [August 20, 2025, 10:06pm UTC](https://discourse.slicer.org/t/can-qslicersimplemarkupsnodes-edit-markupslinenodes/44152/1 "2025-08-20T22:06:38Z")

</div>

Hello,

I am trying to centralize some steps in a workflow and thus want to add a markups widget to the extension. I tried a qSlicerSimpleMarkupsWidget but it only seems to interact with point list markupsnodes rather than markupslinenodes. Is there a way to make it interact with Line nodes?

qMRMLNodeComboBox has a ‘node types’ parameter that allows me to only show Line nodes and gives the desired effect. However, there isn’t a display table with the RAS coordinates, visibility, locks, etc. The SimpleMarkupsWidget has those elements but doesn’t seem to acknowledge LineNodes.

My primary goal is to be able to view and edit the control points of a specific line node from the custom module. Any suggestions?

Combo Box

 ![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/a/b/ab6596bab3d60de5ee5c73086d015fcd170e79ba.png)

SimpleMarkupsWidget

 ![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/9/1/910f41e6d7c67962b27983df2c6a2d8fab5484b5.png)

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [August 20, 2025, 10:11pm UTC](https://discourse.slicer.org/t/can-qslicersimplemarkupsnodes-edit-markupslinenodes/44152/2 "2025-08-20T22:11:35Z")

</div>

You can choose what node types you want to see in the `qSlicerSimpleMarkupsWidget`’s node selector by calling methods of the [node selector](https://apidocs.slicer.org/main/classqSlicerSimpleMarkupsWidget.html#ae710c0c9a43fbc228ea4e8a8bde0ed64). Something like this:

```
simpleWidget.markupsSelectorComboBox().nodeTypes = ["vtkMRMLMarkupsLineNode"]

```

---

<div class="post-metadata">

**Author:** ![mrsh0r3s](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/mrsh0r3s/32/80860_2.png) [@mrsh0r3s](https://discourse.slicer.org/u/mrsh0r3s)\
**Post date:** [August 20, 2025, 10:25pm UTC](https://discourse.slicer.org/t/can-qslicersimplemarkupsnodes-edit-markupslinenodes/44152/3 "2025-08-20T22:25:40Z")

</div>

Ah I see, that makes sense. Thank you, I didn’t realize that the elements that make up the widget could be interfaced with directly. What is the best way to see the available children elements of a higher level widget like this? Like all of the options for “simpleWidget.whatever” to follow the conventions of you example? In Qt it always appeared as a single object.

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [August 20, 2025, 10:41pm UTC](https://discourse.slicer.org/t/can-qslicersimplemarkupsnodes-edit-markupslinenodes/44152/4 "2025-08-20T22:41:42Z")

</div>

The [API documentation](https://apidocs.slicer.org/main/classqSlicerSimpleMarkupsWidget.html) lists all the members of Slicer classes.

Note that internal components of a widget are rarely exposed, as it can be misused. It is sometimes done when the risk is deemed to be low and it significantly simplifies the implementation, but it would be safer and nicer to just expose methods.

---

<div class="post-metadata">

**Author:** ![mrsh0r3s](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/mrsh0r3s/32/80860_2.png) [@mrsh0r3s](https://discourse.slicer.org/u/mrsh0r3s)\
**Post date:** [August 20, 2025, 10:47pm UTC](https://discourse.slicer.org/t/can-qslicersimplemarkupsnodes-edit-markupslinenodes/44152/5 "2025-08-20T22:47:45Z")

</div>

I see where I went wrong now. This clarifies some of the documentation for me, thank you.
