gpt4 book ai didi

c++ - qt图形界面连接

转载 作者:太空宇宙 更新时间:2023-11-04 12:27:21 25 4
gpt4 key购买 nike

我刚刚开始使用 QT。我已经阅读了一些教程,我认为我对信号和槽有了一定的了解。我正在编写一个 GUI,它有各种按钮可以改变我的主程序的状态。因此,例如在绘图应用程序中,您会选择不同的绘图工具(使用各种按钮)。

解决此问题的最佳方法是什么?我的第一个想法是尝试将 PushButton 的点击信号连接到某个设置 current_tool 变量的函数。我进行了一些搜索,但找不到将 QObject 信号连接到常规函数的方法。

这使我相信可能存在不同的方法。我在其中创建了一个具有各种 GUI 属性的新 QObject(我自己的扩展)。然后我会在这里为各种按钮定义我的插槽。

在 QT 中执行此操作的最佳方法是什么。我是新手,不知道首选做法。

任何信息都会有用,谢谢

最佳答案

您可以将这些“普通函数”定义为插槽。插槽只是 normal functions也可以通过信号调用:

class ToolSelector : public QObject {
Q_OBJECT

public:
Tool *selected;

public slots:
void selectBrush();
void selectPen();
void selectFill();
};

ToolSelector::selectBrush() {
delete selected;
selected = new Brush();
}

ToolSelector::selectPen() {
// ...
}

// ...

toolsel = new ToolSelector();
brushButton = new QPushButton();
connect(brushButton, SIGNAL(clicked()), toolsel, SLOT(selectBrush()));

关于c++ - qt图形界面连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1447272/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com