2016-12-19 16 views

答えて

0

テキスト編集のへのテキスト編集に基づいてアクションを有効または無効にする機能を接続します。例えば

void MyWidget::someSetupMethod() 
{ 
    // ... some code that sets up myTextEdit and myFindAction here 
    connect(myTextEdit, &QTextEdit::textChanged, myFindAction, [myTextEdit, myFindAction]() { 
     myFindAction->setEnabled(!myTextEdit->plainText().isEmpty()); 
    }); 
    // ... 
} 

か、することはできませんまたはC++ 11を使用したくない、私は、Windowsのメモ帳のようなプログラムを書か

void MyWidget::someSetupMethod() 
{ 
    // ... some code that sets up m_myTextEdit and m_myFindAction here 
    connect(m_myTextEdit, &QTextEdit::textChanged, this, &MyWidget::updateFindAction); 
    // ... 
} 

void MyWidget::updateFindAction() 
{ 
    m_myFindAction->setEnabled(!m_myTextEdit->plainText().isEmpty()); 
} 
+0

のようなものであれば。私はメインウィンドウを作るためにコードを使います。 findDialogの使用方法を設計する。しかし、私はどのようにクラスのメインウィンドウでUIを使用するのか分からない。このようなUiは、クラスmainwindowでlineeditを使用するlineedit.howを持っていますか? – konalo

+0

mainwindowクラスのコンストラクタに 'ui-> setupUi(this)'のようなものがあります。その後、あなたは 'ui'オブジェクトを通して' .ui'ファイルからウィジェットにアクセスすることができます。例えば 'ui-> textEdit'です。たぶんあなたは[いくつかのウィジェットの例](http://doc.qt.io/qt-5/examples-widgets.html)に従ってください。 – E4z9

+0

、実際はそうではありません。 finddlg.hのsetui(this)のみfinddlgのコンストラクタでui-> okbuttonを使用します。 mainwindow.hで#include "finddlg.h"を追加すると、実際には実際にはなく、ui-> button – konalo

関連する問題