每当我使用信号/槽的编辑对话框中,我从槽的现有列表中选择。 所以,问题是我如何创建一个名为插槽习惯吗?
Answer 1:
不幸的是,这是不可能的Qt4的。
在QT3你可以创建自定义的插槽,在那里,然后在ui.h文件中实现。 然而,这样的定制插槽,不支持的Qt4不使用此文件。
有这个问题的一些讨论过的QtForum
Answer 2:
这似乎在Qt Designer中4.5.2的版本是可能的,但它不能从主窗口中的信号/槽编辑坞的小部件来完成。
这是对我工作
- 切换到编辑信号/插槽模式(F4)
- 拖动并从作为发射信号,向其中是接收信号的插件的插件下降。
- 出现一个配置连接对话框,示出了用于发射插件的信号,以及用于接收插件的槽。 单击编辑右侧的插槽栏下方。
- 一个信号/出现ReceivingWidget对话框的插槽 。 在这里它可以点击加号图标下方的槽添加任何名称的新插槽。
- 然后,您可以回去,并连接到您的新时段,在配置连接对话框,或实际上,信号/槽编辑dockwidget回到主窗口。
警告:我使用PyQt的,我只尝试了使用在Python以这种方式添加插槽,而不是从C ++,所以你的里程可能会有所不同?
Answer 3:
右键单击主窗口中,选择“更改信号和槽”,并增加了新的插槽。 它会出现在你的信号插槽编辑器。
Answer 4:
我能够通过做到这一点:
在MainWindow.h,添加一行:
public slots:
void example();
在主窗口类。
在MainWindow.cpp
void MainWindow::example() {
<code>
}
Answer 5:
这似乎不是一个简单的方法就可以了。
设计者只允许促进现有的小部件到您的自定义部件。 但它不允许你连接的信号和类促进小部件的插槽。
这是可能的方式是创建设计师插件如这里所描述和在它后面的页面。
行动的正常过程是推动一个小部件到您自己的类,然后手动将其在自己的代码连接。 这个过程被描述在这里
Answer 6:
这是不可能做到这一点,因为这意味着你将一个插槽添加到像现有的Qt类QPushButton
这是不是真的要走的路。
您应该创建自己QWidget
通过继承现有的最终。 然后将其集成到Qt设计作为一个插件的建议。 拥有自己的类允许你添加/ modifiy只要你想的信号/插槽可用。
Answer 7:
不要忘了槽的自动连接功能。 有几个缺点,就像如果你重命名你的部件重命名功能,但是我们使用那些有很多在我的公司。
Answer 8:
您可以使用的魔法槽格式
void on_objectName_signal() {
// slot code here, where objectname is the Qt Designer object name
// and the signal is the emission
}
该方法的连接是通过该方法建立的connectSlotsByName并且每当信号被发射时,该槽被调用。
Answer 9:
也许这会帮助你。
默认情况下,你必须从槽的现有列表中选择。 但是你可以通过右键点击你在列表中设计师右侧对象添加的时段,选择“槽/信号”,并添加自定义插槽/信号。 在这之后,你可以在信号/插槽编辑器中选择它。
Answer 10:
单击右键按钮控件
推动构件到你定义的类
再次单击右键按钮控件
你会看到信号和槽可编辑