vs+QT学习之路,易忽略,菜单栏功能编译后无法正常实现!

使用vs2017+qt5.12进行学习开发练习,使用UI界面添加菜单栏功能;

目标:对文本框字体加粗。

1. 在UI界面将菜单栏和文本跨添加;

2.在vs中添加相应代码:

在.h中添加slots,声明;

public slots:
	void on_actFontBold_triggered(bool checked);

 在cpp中进行实现相应功能;

void QtSample1::on_actFontBold_triggered(bool checked)
{

	QTextCharFormat fmt;
	fmt = ui.textEdit->currentCharFormat();
	if (checked)
		fmt.setFontWeight(QFont::Bold);
	else
		fmt.setFontWeight(QFont::Normal);
	ui.textEdit->mergeCurrentCharFormat(fmt);
}

 对功能和槽函数信号连接;connect(A,SIGNAL,B,SLOT), 功能A根据触发信号对B进行函数功能的实现。

	connect(ui.actFontBold, SIGNAL(triggered()), ui.textEdit, SLOT(on_actFontBold_triggered(bool checked)));

 编译:

选取文本框中的文本进行加粗操作,发现没变化

 

 多次检查代码后发现没什么问题,然而功能无法实现,到UI界面检查相应属性;

粗体功能对象actFontBold,我的触发条件是cheked,而属性这里一开始默认checkable是没有勾选的,所以在编译后点击也无法实现,这里勾选后编译功能正常实现。

(新加入)

或者直接在代码编辑中加入属性设置,设置check状态;

	ui.actFontBold->setCheckable(true);

这里的属性有时容易忽略!!!

 

 正常实现效果字体加粗!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值