永发信息网

如何使QScrollArea的背景透明,并且不影响子控件

答案:2  悬赏:0  手机版
解决时间 2021-01-31 11:34
  • 提问者网友:沉默的哀伤
  • 2021-01-30 21:29
如何使QScrollArea的背景透明,并且不影响子控件
最佳答案
  • 五星知识达人网友:几近狂妄
  • 2021-01-30 22:12
代码示例如下:

#include "widget.h"

Widget::Widget(QWidget *parent)
: QWidget(parent)
{
list=new QListWidget();
lay=new QHBoxLayout();
QSizeGrip *gr=new QSizeGrip(list);//用来重设widget的size
scroll=new QScrollArea();

scroll->setWidget(list);
scroll->setAlignment(Qt::AlignLeft);
// scroll->setWidgetResizable(true);
scroll->setBackgroundRole(QPalette::Dark);// 设置滚动区域的背景
//win=new QWidget();
item1=new QListWidgetItem("BlueHills",list);//向widget列表中加入一项
item2=new QListWidgetItem("Sunset",list);
item3=new QListWidgetItem("Water lilies",list);
item4=new QListWidgetItem("Himaliya is a good place",list);
item5=new QListWidgetItem("Ooty",list);
item6=new QListWidgetItem("Hero Honda",list);
item7=new QListWidgetItem("www.google.com",list);
item8=new QListWidgetItem("orkut.com",list);
item9=new QListWidgetItem("sunrise",list);
item10=new QListWidgetItem("OVI",list);
item11=new QListWidgetItem("Nokia N97",list);
item12=new QListWidgetItem("forum.nokia.com",list);
item13=new QListWidgetItem("wellcome to Qt",list);
item14=new QListWidgetItem("Qt rocks for s60",list);
item15=new QListWidgetItem("Symbian c++",list);
item16=new QListWidgetItem("5800 Xpress Music",list);
item17=new QListWidgetItem("My best Phone",list);
item18=new QListWidgetItem("I like N97",list);
item19=new QListWidgetItem("Go for 5800",list);
item20=new QListWidgetItem("America",list);
// lay->addWidget(list);
lay->addWidget(scroll);

setLayout(lay);//setting layout
showMaximized();

}

Widget::~Widget()
{

}
全部回答
  • 1楼网友:人间朝暮
  • 2021-01-30 22:19

先考虑在控件的cssclass中添加需要的样式。如果这个还不能满足只能先看代码解析生成页面之后的代码了。如果没错生成的代码应该是一堆div td a和input标签。在程序添加节点的时候就可以添加了,还能添加一些js功能。

例如:tn_n.text = "<span class='css_unclick' onclick='span_node_onclick_event(this)'>" + n_row["modulename"].tostring().trim() + "</span>";

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯