[英]qt GUI connecting
我只是從QT開始。 我已經通讀了一些教程,並且我認為我對信號和插槽有所了解。 我正在編寫一個具有各種按鈕的GUI,這些按鈕可以更改主程序的狀態。 因此,例如在繪圖應用程序中,您將選擇不同的繪圖工具(使用各種按鈕)。
最好的方法是什么? 我的第一個想法是嘗試將PushButton的單擊信號連接到設置current_tool變量的某個函數。 我進行了一些搜索,但找不到將QObject信號連接到常規函數的方法。
這使我相信可能有另一種方法。 我在其中創建一個具有各種GUI屬性的新QObject(即我自己的擴展名)。 然后,我將在此處為各種按鈕定義插槽。
在QT中執行此操作的最佳方法是什么。 我是新手,不知道首選做法。
任何信息都將是有用的,謝謝
您可以將這些“常規功能”定義為插槽。 插槽只是正常功能 ,也可以通過信號調用:
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()));
從uic生成的類繼承,創建一個MyAppWindow類。 在該類中提供其他方法,以及Document或Drawing對象。 將這些方法連接到您感興趣的信號,它們會更改包含繪圖狀態的成員變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.