找回密码
 立即注册
收起左侧

各位大佬,在QVTKWidget显示的图片上,如何让button变半透明。

4
回复
3869
查看
[复制链接]
累计签到:1 天
连续签到:1 天
来源: 2020-6-18 17:59:47 显示全部楼层 |阅读模式
1Qter豆
如图,我想让Adjust按钮在蓝色的QVTKWidget图片中变半透明。

回复

使用道具 举报

累计签到:742 天
连续签到:1 天
2020-6-19 08:27:44 显示全部楼层
这个是颜色叠加了吗?
回复

使用道具 举报

累计签到:1 天
连续签到:1 天
2020-6-19 08:45:42 显示全部楼层
Since 发表于 2020-6-19 08:27
这个是颜色叠加了吗?

应该是和vtk的背景叠加了。
以下是对应类的代码。
newGUI::newGUI(QWidget *parent)
  : QMainWindow(parent)
{



  ui.setupUi(this);

  QPushButton *button = new QPushButton;

  QPalette palette;
  palette.setColor(QPalette::Background, QColor(192, 253, 123, 40));
  button->setPalette(palette);

  this->ui.pushButton->resize(40, 40);
  this->ui.pushButton->move(130,20);
  this->ui.pushButton->setText(QStringLiteral("Adjust"));
  //this->ui.pushButton->setFlat(true);
  //this->ui.pushButton->setStyleSheet("QPushButton{background:transparent;}");
  this->ui.pushButton->setStyleSheet("QPushButton{background:transparent;color: rgba(100, 100, 100, 40);background-color: rgba(150,150,150, 40);border:none;}"
    "QPushButton:hover{background-color: rgba(50, 50, 50, 40);border:none;color:rgba(255, 255, 255, 40);}"
    "QPushButton:checked{background-color: rgba(250, 250, 250,40);border:none;color:rgba(255, 255, 255,40);}");

  //// Read the image
  vtkSmartPointer<vtkPNGReader> reader =
    vtkSmartPointer<vtkPNGReader>::New();
  reader->SetFileName("E:\\tt.png");
  reader->Update();
    // Visualize
  vtkSmartPointer<vtkImageViewer2> imageViewer =
    vtkSmartPointer<vtkImageViewer2>::New();
  vtkSmartPointer<vtkRenderer> render = vtkSmartPointer<vtkRenderer>::New();



  //vtkSmartPointer<vtkActor> coneActor = vtkSmartPointer<vtkActor>::New();
  //render->AddActor(cone);
  render->SetLayer(1);
  //render->SetBackground(1,1,1)
  render->Transparent();


  vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
    vtkSmartPointer<vtkRenderWindowInteractor>::New();

  
  imageViewer->SetRenderWindow(this->ui.qvtkWidget->GetRenderWindow());

  imageViewer->SetInputConnection(reader->GetOutputPort());
  imageViewer->SetupInteractor(renderWindowInteractor);
  imageViewer->Render();
  imageViewer->GetRenderer()->ResetCamera();
  //imageViewer->Render();
  //imageViewer->GetRenderWindow()->Render();

}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

累计签到:1 天
连续签到:1 天
2020-6-19 08:46:24 显示全部楼层
Since 发表于 2020-6-19 08:27
这个是颜色叠加了吗?

您好,具体情况我回复在下一个贴子里了。

点评

这个不属于问题啊,这个是正常现象啊 ~  详情 回复 发表于 2020-6-19 20:49
回复

使用道具 举报

累计签到:742 天
连续签到:1 天
2020-6-19 20:49:55 显示全部楼层
本帖最后由 Since 于 2020-6-19 20:54 编辑
lllaa 发表于 2020-6-19 08:46
您好,具体情况我回复在下一个贴子里了。

这个不属于问题啊,这个是正常现象啊,如果你是要左侧的颜色,用取色工具在白底的时候取一下,设置颜色的时候直接用就是了,不要加透明 ~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了