QT5 QTreeview显示问题

QT5 QTreeview显示问题

昨天写了一个treewidget,怎么也不在mainwidow中显示。

原因:没有将QTreeWidget添加到mainwidow中。

解决方法:

将QTreeWidget添加到一个具有布局的widget中,再将该widget添加到一个QDockWidget中(QDockWidget在mainwindow中)。

代码如下:


m_pDockWidget = new QDockWidget(this);//m_pDockWidget 为QDockWidget
	m_pDockWidget->setMinimumWidth(240);//设置大小
	m_pDockWidget->setMaximumWidth(240);
	addDockWidget(Qt::LeftDockWidgetArea, m_pDockWidget);//m_pDockWidget添加到左侧区域

	m_pDockWidget->setFeatures(QDockWidget::DockWidgetClosable);//设置特性,可关闭
	m_pDockWidget->setFeatures(QDockWidget::DockWidgetFloatable);//停靠部件可以脱离主窗口,并作为独立窗口浮动.。
	m_pDockWidget->setFeatures(QDockWidget::DockWidgetMovable);//自由移动

	QWidget *pDocLeftUpWidget = new QWidget();
	m_pDockWidget->setWidget(pDocLeftUpWidget);

	QVBoxLayout *pLeftVBoxLayout = new QVBoxLayout(pDocLeftUpWidget);//水平布局

	m_pLeftCRTTree = new CptTreeView();//CptTreeView继承TreeWidget
	m_pLeftCRTTree->setMaximumHeight(300);
	m_pLeftCRTTree->setMinimumHeight(200);
	m_pLeftCRTTree->setStyleSheet("QHeaderView::section{background:rgb(63,175,223); color:white;font-size:10pt;}"
		"QTreeView::item:selected {background:rgb(63,175,223); color: white;}"
		"QTreeView::item:hover {background:rgb(155,205,255); color: white;}"
		);//设置样式
	//设置图标
	m_pLeftCRTTree->headerItem()->setIcon(0, QIcon(":/File/img/leftUpCptTreeIcon1.png"));
	//将DockWidget上的黑色边框去掉
	QWidget * titleBarWidget = m_pDockWidget->titleBarWidget();
	QWidget* lEmptyWidget = new QWidget();
	m_pDockWidget->setTitleBarWidget(lEmptyWidget);
	delete titleBarWidget;
	//将m_pLeftCRTTree添加到布局中
	pLeftVBoxLayout->addWidget(m_pLeftCRTTree);


  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值