<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[When using a Tree Widget how do I Reinsert what I want the tree to display]]></title><description><![CDATA[<p dir="auto">So what I have is a Tree Widget I am using it for some classes where their contents will change. I don't want to add the results of a change to what I already have displayed.</p>
<p dir="auto">this is what I am doing.</p>
<pre><code>void Dialog::addRoot(QString name, QString desc)
{
    QTreeWidgetItem *itm = new QTreeWidgetItem(ui-&gt;treeWidget);
    itm-&gt;setText(0, name);
    itm-&gt;setText(1, desc);
    ui-&gt;treeWidget-&gt;addTopLevelItem(itm);
    node aprt;
    DefString chpar;
    for (int i=0;i&lt;par.subNodes1.size();i++){
        aprt = par.subNodes1[i];
        chpar.convert(aprt);
        addChild(chpar, itm);
    }
    for (int i=0;i&lt;par.subNodes2.size();i++){
        aprt = par.subNodes2[i];
        chpar.convert(aprt);
        addChild(chpar, itm);
    }

}

void Dialog::addChild(DefString defs, QTreeWidgetItem *parent)
{
    QTreeWidgetItem *itm = new QTreeWidgetItem();
    itm-&gt;setText(0, defs.getFirst());
    itm-&gt;setText(1, defs.getSecond());
    parent-&gt;addChild(itm);
    node aprt;
    DefString chpar;
    for (int i=0;i&lt;defs.subNodes1.size();i++){
        aprt = defs.subNodes1[i];
        chpar.convert(aprt);
        addChild(chpar, itm);
    }
    for (int i=0;i&lt;defs.subNodes2.size();i++){
        aprt = defs.subNodes2[i];
        chpar.convert(aprt);
        addChild(chpar, itm);
    }
}

void Dialog::on_btn_run_clicked()
{

    
    lstruct.update();
    ui-&gt;lbl_lnum-&gt;setText(QString::number(lstruct.curline));
    ui-&gt;lbl_ltext-&gt;setText(lstruct.lines.at(lstruct.curline));
    tree1-&gt;clear();
    node anod = lstruct.curexam;
    par1.convert(anod);
    QTreeWidgetItem *itm = new QTreeWidgetItem(ui-&gt;treeWidget);
    itm-&gt;setText(0, par1.getFirst());
    itm-&gt;setText(1, par1.getSecond());
    tree1-&gt;addTopLevelItem(itm);
    label-&gt;setText(QString::number(lstruct.curlev));


    anod = lstruct.tree;
    par.convert(anod);
    addRoot(par.getFirst(), par.getSecond());
}


void Dialog::on_btn_make_clicked()
{
    ui-&gt;treeWidget-&gt;clear();
    QString apic;
    QString line;
    QString script = ui-&gt;textEdit-&gt;toPlainText() + "\n";
    for (int i=0;i &lt; script.length();i++){
        apic = script.mid(i, 1);
        if (apic == "\n"){
            lstruct.takeLine(line);
            line = "";
        }else{
            line += apic;
        }
    }
    lstruct.curline = 0;
    node snod = lstruct.tree;
    par.convert(snod);
    addRoot(par.getFirst(), par.getSecond());
}


void DefString::convert(node anod)
{
    isWhile = anod.isWhile;
    start = anod.start;
    middle = anod.middle;
    end = anod.end;
    curnode1 = anod.curnode1;
    curnode2 = anod.curnode2;
    seclist = anod.seclist;
    goback = anod.goback;
    braover = anod.braover;
    firinc = anod.firinc;
    subNodes1 = anod.subNodes1;
    subNodes2 = anod.subNodes2;
}

QString DefString::getFirst()
{
    return "While\nStart\nMiddle\nEnd\nCurrent1\nCurrent2\nSecond\nGoBack\nBranch\nFirInc";
}

QString DefString::getSecond()
{
    QString ret;
    if (isWhile){
        ret = "True\n";
    }else{
        ret = "False\n";
    }
    ret += QString::number(start) + "\n";
    ret += QString::number(middle) + "\n";
    ret += QString::number(end) + "\n";
    ret += QString::number(curnode1) + "\n";
    ret += QString::number(curnode2) + "\n";
    if (seclist){
        ret += "True\n";
    }else{
        ret += "False\n";
    }
    if (goback){
        ret += "True\n";
    }else{
        ret += "False\n";
    }
    if (braover){
        ret += "True\n";
    }else{
        ret += "False\n";
    }
    if (firinc){
        ret += "True\n";
    }else{
        ret += "False\n";
    }
    return ret;
}
</code></pre>
]]></description><link>https://forum.qt.io/topic/141686/when-using-a-tree-widget-how-do-i-reinsert-what-i-want-the-tree-to-display</link><generator>RSS for Node</generator><lastBuildDate>Thu, 14 May 2026 17:03:59 GMT</lastBuildDate><atom:link href="https://forum.qt.io/topic/141686.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 23 Dec 2022 00:16:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to When using a Tree Widget how do I Reinsert what I want the tree to display on Fri, 30 Dec 2022 21:39:56 GMT]]></title><description><![CDATA[<p dir="auto">I forgot to use the clear() method.</p>
]]></description><link>https://forum.qt.io/post/742012</link><guid isPermaLink="true">https://forum.qt.io/post/742012</guid><dc:creator><![CDATA[AI_Messiah]]></dc:creator><pubDate>Fri, 30 Dec 2022 21:39:56 GMT</pubDate></item><item><title><![CDATA[Reply to When using a Tree Widget how do I Reinsert what I want the tree to display on Fri, 23 Dec 2022 17:17:48 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/ai_messiah">@<bdi>AI_Messiah</bdi></a> said in <a href="/post/741315">When using a Tree Widget how do I Reinsert what I want the tree to display</a>:</p>
<blockquote>
<p dir="auto">I would like to be able to erase the tree and insert the values again.</p>
</blockquote>
<p dir="auto">You have to delete <a href="https://doc.qt.io/qt-6/qtreewidget.html#topLevelItemCount-prop" target="_blank" rel="noopener noreferrer nofollow ugc">all</a> top level <a href="https://doc.qt.io/qt-6/qtreewidget.html#topLevelItem" target="_blank" rel="noopener noreferrer nofollow ugc">QTreeWidgetItems</a>.</p>
]]></description><link>https://forum.qt.io/post/741319</link><guid isPermaLink="true">https://forum.qt.io/post/741319</guid><dc:creator><![CDATA[Christian Ehrlicher]]></dc:creator><pubDate>Fri, 23 Dec 2022 17:17:48 GMT</pubDate></item><item><title><![CDATA[Reply to When using a Tree Widget how do I Reinsert what I want the tree to display on Fri, 23 Dec 2022 16:58:31 GMT]]></title><description><![CDATA[<p dir="auto">I would like to be able to erase the tree and insert the values again.</p>
]]></description><link>https://forum.qt.io/post/741315</link><guid isPermaLink="true">https://forum.qt.io/post/741315</guid><dc:creator><![CDATA[AI_Messiah]]></dc:creator><pubDate>Fri, 23 Dec 2022 16:58:31 GMT</pubDate></item><item><title><![CDATA[Reply to When using a Tree Widget how do I Reinsert what I want the tree to display on Fri, 23 Dec 2022 09:03:33 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/ai_messiah">@<bdi>AI_Messiah</bdi></a><br />
There is a fair amount of code here, probably most of it not relevant.  I do not understand what you are actually asking?  What does it do/not do that is not what you want?  Which bit of it is at issue?</p>
]]></description><link>https://forum.qt.io/post/741253</link><guid isPermaLink="true">https://forum.qt.io/post/741253</guid><dc:creator><![CDATA[JonB]]></dc:creator><pubDate>Fri, 23 Dec 2022 09:03:33 GMT</pubDate></item></channel></rss>