目的:为了解决一些功能简单的按钮不想特地专门开一个槽函数进行处理的,或者多个按钮有类似功能的,进行统一处理时候可以比较方便
使用:继承一个QDialog或者QMainWindow或QWidget或者直接粘贴进去
使用头文件:QSignaMapper
描述:
obj指定最顶层的空间Id
prefix即为前缀
mapper指定一个
/**
* @brief 把目标按钮给绑定到SignalMapper上
* @details 例子: prefix 传 "B"则所有 Bxx_yyyy 的按钮都会被映射到ID号为xx的QSignalMapper上
* @param obj
* @param prefix
* @param mapper
*/
void QDialogEx::targetButtonMapped(QObject* obj, QString& prefix, QSignalMapper& mapper)
{
QObjectList list = obj->children();
if (list.size() == 0)
{
return;
}
foreach (auto &o, list)
{
if (o->inherits("QPushButton"))
{
if (!o->objectName().startsWith(prefix))
{
continue;
}
QStringList part = o->objectName().split(&