0
私はWindowsでメモ帳のように見えるメモ帳を書いています。 QTextEditが空であるが、何かが入っているときに有効になっているときに、検索アクションを無効にする方法QTのQTextEditにコンテンツがあると判断する方法は?
私はWindowsでメモ帳のように見えるメモ帳を書いています。 QTextEditが空であるが、何かが入っているときに有効になっているときに、検索アクションを無効にする方法QTのQTextEditにコンテンツがあると判断する方法は?
テキスト編集のへのテキスト編集に基づいてアクションを有効または無効にする機能を接続します。例えば
:
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());
}
のようなものであれば。私はメインウィンドウを作るためにコードを使います。 findDialogの使用方法を設計する。しかし、私はどのようにクラスのメインウィンドウでUIを使用するのか分からない。このようなUiは、クラスmainwindowでlineeditを使用するlineedit.howを持っていますか? – konalo
mainwindowクラスのコンストラクタに 'ui-> setupUi(this)'のようなものがあります。その後、あなたは 'ui'オブジェクトを通して' .ui'ファイルからウィジェットにアクセスすることができます。例えば 'ui-> textEdit'です。たぶんあなたは[いくつかのウィジェットの例](http://doc.qt.io/qt-5/examples-widgets.html)に従ってください。 – E4z9
、実際はそうではありません。 finddlg.hのsetui(this)のみfinddlgのコンストラクタでui-> okbuttonを使用します。 mainwindow.hで#include "finddlg.h"を追加すると、実際には実際にはなく、ui-> button – konalo