我想创建一个QTreeWidget,它具有简单的行(无层次结构),具有图像的列以及具有文本信息的其他列。
https://doc.qt.io/qt-5/qtreewidget.html
我正在查看QTools和Qtools-ui,尽管它们的示例工作正常,但我找不到TreeView示例,也无法理解如何处理所有这些Qt机制。
我确实发现合适的班级存在……
const fruits = {
a: 'apple',
b: 'banana'
} as const; // requires TS3.4+
type FruitValues = (typeof fruits)[keyof typeof fruits]; // "apple" | "banana"
edit :grep确实在Qtools源文件中找到了(org.shirakumo.qtools+common-lisp:find-qt-class-name "qtreewidget")
"QTreeWidget"
t
,但没有找到QTreeWidget
。
不用说我是Qt的新手。
欢迎任何示例!
答案 0 :(得分:1)
这是QTreeWidget的最小示例:
(defpackage #:qtools-tree
(:use #:cl+qt)
(:export #:main))
(in-package #:qtools-tree)
(in-readtable :qtools)
(define-widget main-window (QWidget)
())
(define-subwidget (main-window tree) (q+:make-qtreewidget main-window)
(setf (q+:column-count tree) 3)
(mapc (lambda (item)
(q+:add-top-level-item tree
(q+:make-qtreewidgetitem tree (list item))))
'("Sun" "Mercury" "Venus" "Earth" "Mars"))
(q+:resize-column-to-contents tree 0))
(define-subwidget (main-window layout) (q+:make-qvboxlayout main-window)
(q+:add-widget layout tree))
(defun main ()
(with-main-window (window (make-instance 'main-window))))