每当我使用信号/插槽编辑器对话框时,我必须从现有的插槽列表中进行选择。所以问题是如何创建自定义命名槽?
答案 0 :(得分:29)
这似乎可以在Qt Designer 4.5.2的版本中实现,但不能从主窗口中的Signal / Slot Editor dock-widget完成。
这对我有用
答案 1 :(得分:28)
右键单击主窗口并选择“更改信号和插槽”并添加新插槽。 它将出现在信号槽编辑器中。
答案 2 :(得分:4)
答案 3 :(得分:4)
我可以通过以下方式完成:
在MainWindow.h中,添加以下行:
public slots:
void example();
在MainWindow类中。
在MainWindow.cpp
void MainWindow::example() {
<code>
}
答案 4 :(得分:3)
这似乎不可能以简单的方式实现。
设计器仅允许您将现有窗口小部件升级到您自己的自定义窗口小部件。但它不允许您连接升级小部件类的信号和插槽。
这样做的方法是为设计师创建一个插件described here及其后面的页面。
正常的做法是将窗口小部件提升到您自己的类,然后在您自己的代码中手动连接它。此过程描述为here
答案 5 :(得分:2)
这是不可能的,因为这意味着你要向现有的Qt类添加一个插槽,如QPushButton
,这不是真正的方法。
您应该通过继承现有的QWidget
来创建自己的{{1}}。然后将其作为插件按照建议集成到Qt Designer中。拥有自己的类允许您根据需要添加/修改可用的信号/插槽。
答案 6 :(得分:2)
不要忘记插槽自动连接功能。有一些缺点,比如重命名你的小部件时必须重命名你的功能,但是我们在公司里经常使用这些功能。
答案 7 :(得分:2)
您可以使用
的魔术插槽格式void on_objectName_signal() {
// slot code here, where objectname is the Qt Designer object name
// and the signal is the emission
}
此方法的连接由方法connectSlotsByName建立,每当发出信号时,都会调用此插槽。
答案 8 :(得分:1)
也许它会有所帮助。
默认情况下,您必须从现有的插槽列表中进行选择。但您可以通过右键单击设计器右侧列表中的对象来添加插槽,然后选择“插槽/信号”并添加自定义插槽/信号。之后,您可以在信号/插槽编辑器中选择它。
答案 9 :(得分:0)
按右键单击小部件
将小部件升级为您定义的类
再次按右键单击小工具
你会看到信号和插槽是可编辑的