0

GTK+ にリスト コントロール ( gtk.TreeView1 列の a) があり、"find-as-you type" が有効になっています (したがって、任意のテキストを入力すると、リスト エントリを検索するための小さな検索フィールドが開きます)。ここで、ユーザーが「abc」などの検索テキストを入力した場合、「abc」で始まるエントリのみを検索する必要がありますか?それとも、テキストのどこかに「abc」を含むエントリを検索する必要がありますか?

(関連するヒューマン インターフェイス ガイドラインへのリンクを歓迎します)

4

4 に答える 4

1

Omer Kooheji が言ったように、正解はリストボックスの内容に大きく依存しますただし、最小の驚きの原則に基づいて、エントリの最初に一致することをお勧めします。これは、ほとんどのリスト ボックス (たとえば、Web、Linux インストールでのタイム ゾーンの選択など) で発生する方法であり、ほとんどのユーザーが期待する動作です。

ただし、これは正確なアプリケーションを知らない一般的なアドバイスです。あなたのアプリケーションが、人々が正確な開始点を知らない可能性があるが、その間の部分文字列を知っている可能性があるようなものである場合、明らかに入力をどこでも一致させる方がはるかに理にかなっています。

于 2008-10-08T17:30:03.963 に答える
0

理想的には、入力と同時に検索を実行すると、単語の境界に到達するまで、順序付けられた文字に対して部分一致が実行されます。例(疑似コード):

var input =  getInput();
    input =~ s/(.)/$1.*/g;
return find_items(input); // Assuming this takes a regexp as its input

これは、input = "Shing"

そして、含むデータベース{..., Sine, Shining, 'The Shining', ...}

出力は次のようになります。{Shining, 'The Shining'}

単語の境界に到達すると、一致は隣接する単語部分に一致するように変更されます。だいたい:

var input =  getInput();
    input =~ s/(\w+)/$1.*/g;
return find_items(input); // Assuming this takes a regexp as its input

そのようなinput = "Th Shi"

そして、上記と同じデータベース

出力は次のようになります。{'The Shining'}

編集 (UI ガイドライン要求への対処):このビデオを見るよりも悪いことをする可能性があります

于 2008-09-23T18:39:36.220 に答える
0

ユーザーとして、「で始まる」検索よりも「含む」検索を高く評価します。探しているものを正確に思い出すことができない場合があります。検索クエリを単純なフィルターとして使用するよりも、検索クエリに類似したものを提案する方が役立ちます。

何かをリストする方法が複数ある場合もあります。つまり、次のようになります。

Shining, The - King, Stephen
The Shining - Stephen King
King, Stephen - The Shining

など..私の意見では、「シャイニング」と入力すると、これらの結果のいずれかが返されるはずです。

于 2008-09-23T16:48:22.353 に答える
0

確かに正解は依存ですか?あなたの主題は何ですか?

あなたが怠惰だと感じているなら、テキストのどこにでも投票するか、テキスト内の単語全体に一致する(つまり、単語の途中に一致する必要はありません)に投票します。

ただし、最初の単語からの完全一致が望ましい場合もあります。

于 2008-09-23T16:49:00.340 に答える