单击 label 触发 checkbox,checkbox 触发 click

17 篇文章 0 订阅

转载于:

http://www.cftea.com/c/2011/02/2UCSDQNDA6U9EV3V.asp

http://www.cftea.com/c/2010/12/L5RJ4NFAQ8JRDL0W.asp

 

在桌面程序中,checkbox 后面是带文字的,单击文字就会选中或取消选中选择框,点起来很方便,但 HTML 中 checkbox 是干的,单起来非得把鼠标移到那个小小的 checkbox 框框上。

要想实现桌面程序的效果,可增加一个控件 label。

<input type="checkbox" id="c1" name="c1" value="c1" />
<label for="c1">喜欢千一网络就点我</label>

如上代码,点 label 的文字,前面的 checkbox 就会被选中,再点击就会被取消。

令人欣喜的是,点 label 跟点 checkbox 一样,都会触发 checkbox 的 click 事件,这就方便了我们 DOM 编程。

另外

label 须指定一个 for 属性,对应一个 checkbox 的 id,大量的 label 和 checkbox 时,较麻烦,可使用 ezj 的 labelFor 轻松解决

 
 

如何让网页也像桌面程序一样,单击文字选择多选框、单选框、文本框……可用 label,且指定 for 属性值为元素 id,但每个都指定,一来麻烦,二来不便于维护。

<div>
  您使用过 ezj 吗?
  <input type="radio" name="r1" /><label>使用过</label>
  <input type="radio" name="r1" /><label>还没有</label>
</div>
<div>
  您使用过的其他 JavaScript 框架:
  <input type="checkbox" name="c1" /><label>Prototype</label>
  <input type="checkbox" name="c1" /><label>jQuery</label>
  <input type="checkbox" name="c1" /><label>YUI</label>
  <input type="checkbox" name="c1" /><label>ExtJS</label>
  <input type="checkbox" name="c1" /><label>MooTools</label>
</div>
<div>
  <label>您对 ezj 有什么建议?</label>
  <input type="text" size="30" name="t1" />
</div>

JavaScript 代码(ezj 代码)

ezj.ready(function(){
    $("<label").labelFor();
});

labelFor 自动识别 label 前后的元素,并根据元素类型来执行是否进行 for 关联:若 label 前面是多选框、单选框,则关联;若后面是文本框,则关联。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 要在 Qt 中触发 checkBox,可以使用 `setChecked()` 函数。例如,如果你有一个名为 `myCheckBox` 的 checkBox 控件,你可以使用以下代码来选中它: ```cpp myCheckBox->setChecked(true); ``` 如果你想取消选中它,可以使用以下代码: ```cpp myCheckBox->setChecked(false); ``` 你也可以在代码中检查 checkBox 的状态,例如: ```cpp if (myCheckBox->isChecked()) { // do something } ``` ### 回答2: 在QT中,要触发checkBox,可以通过以下几个步骤完成: 首先,在设计界面时,将checkBox控件拖拽到窗口中,并设置其相应的属性,如文本、大小、位置等。 然后,在代码中,我们可以通过以下几种方式触发checkBox的选中状态: 1. 使用setChecked(bool)函数:可以使用setChecked(true)来选中checkBox,使用setChecked(false)来取消选中。可以在需要的地方,如按钮点击事件、其他控件状态变化等,调用该函数来改变checkBox的选中状态。 2. 使用toggle()函数:toggle()函数会在原来的基础上切换checkBox的选中状态,即如果checkBox选中,则调用toggle()函数后会取消选中,如果checkBox未选中,则调用toggle()函数后会选中。 3. 使用click()函数:click()函数会模拟鼠标点击事件,即调用该函数后会触发checkBox的选中状态变化。可以在需要的地方,如按钮点击事件、其他控件状态变化等,调用click()函数来触发checkBox的选中状态改变。 除了以上的方法,还可以通过信号和槽机制来触发checkBox的选中状态。我们可以连接checkBoxclicked()信号和相应的槽函数,在槽函数中对checkBox的选中状态进行处理,从而实现对checkBox触发。 总之,通过以上几种方式,我们可以在QT中触发checkBox的选中状态,根据需求选择合适的方式来实现。 ### 回答3: QT 是一种常用的跨平台应用程序开发框架,用于开发图形用户界面(GUI)程序。在QT中,checkBox(复选框)是一种常见的用户界面控件,它通常用于表示二进制选项的状态,用户可以通过点击勾选或取消勾选。 在QT中,要实现触发触发复选框的状态改变)checkBox,我们可以使用信号与槽机制。 首先,我们需要在QT项目中创建一个checkBox。可以通过代码或者图形化界面设计工具创建一个checkBox控件,并设置其对象名称,例如"checkBox"。 接下来,在相关的代码中,我们需要连接checkBox的信号与槽。通过使用connect函数,将checkBox的信号(例如clicked()信号)与槽函数进行连接。槽函数可以是我们自定义的函数,用于处理checkBox状态改变后的逻辑操作。 通过信号与槽的连接,当checkBox的状态改变时,被连接的槽函数就会被自动触发。在槽函数中,我们可以根据checkBox的状态进行相应的处理,例如更新界面、执行特定操作等。 以下是一个简单的代码示例,用于实现点击改变复选框状态的功能: ```cpp #include <QtWidgets> int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget window; QVBoxLayout layout; window.setLayout(&layout); QCheckBox checkBox("Check me"); layout.addWidget(&checkBox); QObject::connect(&checkBox, &QCheckBox::clicked, [](bool checked) { qDebug() << "CheckBox checked:" << checked; }); window.show(); return app.exec(); } ``` 在上述代码中,我们创建了一个窗口,并将一个checkBox添加到窗口中。然后,我们使用connect函数连接了checkBoxclicked()信号与一个匿名Lambda函数的槽。当checkBox被点击时,槽函数会输出checkBox的状态。 通过上述方式,我们可以在QT中实现通过点击来触发checkBox的状态改变。需要注意的是,代码中的连接方式和槽函数逻辑可以根据具体需求进行修改和扩展。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值