永发信息网

QT动态添加按钮后,怎么能让每个按钮对应一个对象,进行不同的操作?怎么获得这个按钮对应的对象信息?

答案:2  悬赏:80  手机版
解决时间 2021-03-23 05:56
  • 提问者网友:寂寞梧桐
  • 2021-03-22 17:40
QT动态添加按钮后,怎么能让每个按钮对应一个对象,进行不同的操作?怎么获得这个按钮对应的对象信息?
最佳答案
  • 五星知识达人网友:渡鹤影
  • 2021-03-22 17:56
voidMainWindow::on_comboBox1_currentIndexChanged(int index) { if(index == 0) { ui->comboBox2->setCurrentIndex(0); } else { ui->comboBox2->setCurrentIndex(1); } } 懒得就直接用“转到槽”了,比方说2个comboBox 1和2,都有2种状态。 想
全部回答
  • 1楼网友:蓝房子
  • 2021-03-22 19:18
动态对话框是在程序运行时用 qt designer 的.ui 文件创建。不用 uic工具把.ui 文件变成 等价的 c++代码,而是在程序时使用类 quiloader 加载.ui文件,例如下面的代码: quiloader uiloader; qfile file("sortdialog.ui"); qwidget *sortdialog = uiloader.load(&file); if (sortdialog) { ... } 子控件可以用 qobject::findchild<t>()得到 qcombobox *primarycolumncombo = sortdialog->findchild<qcombobox *>("primarycolumncombo"); if (primarycolumncombo) { ... } findchild<t>()是模板成员函数,得到类型为 t 的给定名字的子控件的指针。由于编 译器的原因,用 msvc6 是得不到的。如果使用的是 msvc6,那么可以使用全局函数 qfindchild<t>()。 quiloader 类在一个单独的链接库中,如果在一个应用程序中使用了 quiloader, 必须在这个程序的.pro文件中添加下面这样的代码: config += uitools 使用动态对话框不用重新编译程序就能够改变对话框的布局。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯