QT中設定QTreeWidget某一列不可編輯

2021-09-24 12:14:13 字數 706 閱讀 5563

qtreewidgetitem* item = new qtreewidgetitem(ui.treewidget);

/// 設定某一行的內容可編輯

item->setflags(qt::itemisenabled | qt::itemisselectable | qt::itemiseditable);

有時候我們想要用qtreewidget給使用者提供key-value的設定介面,要禁止第一列引數名稱(key)編輯功能,而qt沒有直接提供列設定功能,而qtreewidget(還包括其他資料控制項,如**、列表等,簡稱mv-d)建立編輯器和顯示功能是由delegate提供的。

所以我們可以從delegate入手,禁用某列編輯功能。

class disableeditor : public qstyleditemdelegate

virtual qwidget * createeditor(qwidget *parent, const qstyleoptionviewitem &option,

const qmodelindex &index) const override };

/// 設定第一列不可編輯

ui.treewidget->setitemdelegateforcolumn(0, new disableeditor(

ui.treewidget));

qt中設定選單高度

如題所示,我建立乙個選單,如下,但是選單項的高度太小了,popupmenu new qmenu this qaction action1 new qaction tr new1 this qaction action2 new qaction tr new2 this qaction action3...

qt中設定窗體大小

在我們的程式設計中,我們有時候會想讓我們的程式窗體固定大小,而該大小是我們在編輯時的大小。經過我的摸索,和查閱資料。找到了乙個方法。其實也很簡單。其實也就是先找到該窗體的物理大小。然後設定固定窗體的大小即可,核心 如下 logindialog logindialog qwidget parent q...

qt中的qmake命令設定

之前安裝qt 4.7.2,由於習慣了在命令列下編譯原始檔,我在網上搜了一下關於qt環境變數的配置方法,配置很簡單,在 etc profile檔案裡新增下面幾行語句 export qtdir opt qtsdk 2010.05 qt 這個路徑根據自己安裝的位置進行配置 export ld librar...