Qt画板 杂记

我的画板效果演示    https://blog.csdn.net/afeiererer/article/details/83614697

带菜单的按钮

QMenu *menu_paste = new QMenu;

QAction *click_paste = new QAction(u8"粘贴", this);
QAction *click_paste_from = new QAction(u8"粘贴来源", this);

menu_paste->addAction(click_paste);
menu_paste->addAction(click_paste_from);

ui.pushButton->setMenu(menu_paste);

ps:不要箭头。

pushButton->setStyleSheet("QPushButton::menu-indicator{image:none}");

改变按钮颜色

如果不是要改变颜色,只是要个背景色,设置下StyleSheet就好。

ui.btn_colorview_1->setStyleSheet("QToolButton{background-color:Qt::red}");

排坑:but 这个方式不能传变量,我曾像下面这么写,傻傻的错了。

// ! ! ! 错 误 写 法    运行不会报错,但会是黑色
QColor b = Qcolor(255,255,255);
ui.btn_colorview_1->setStyleSheet("QToolButton{background-color:b}");

下面是改颜色的正确写法  。    注意:千万不能设置background-color,否则要的颜色显现不出来。

//颜色列表
QColor color_list[24] = { QColor(0,0,0), QColor(127, 127, 127),QColor(85, 0, 0),QColor(255, 0, 0)};

void QtGuiApplication1::updata_colorview()
{
	    ui.btn_colorview_2->setAutoFillBackground(true);

		ui.btn_colorview_2-> setPalette(QPalette(color));

       /* 与上面那行等价
        QPalette p = ui.btn_colorview_2->palette();
        p.setColor(QPalette::Button, color);
        ui.btn_colorview_2->setPalette(p)*/

		paintbox->setbcolor(color);	
}

void QtGuiApplication1::on_btn_color_1_clicked()
{
	color = color_list[0];
	updata_colorview();

}
void QtGuiApplication1::on_btn_color_2_clicked()
{
	color = color_list[1];
	updata_colorview();
}

 不知道为什么必须每次要写这个,全局设置一次是不行的。

 ui.btn_colorview_2->setAutoFillBackground(true);

而且我不知道为什么这样按按钮切换是好使的,但是用作初始化就不好使,于是初始是父容器的背景色。未解决。

                                    


按钮点击事件

假如按钮的 id是 btn_tool1 :

void QtGuiApplication1::on_btn_tool1_clicked()
{
    //.......
}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值