tableWidget には、チェック可能なアイテムで完全に構成された 1 つの列があります。チェックボックスを中央に配置する方法、または少なくともその横にあるテキストボックスを削除する方法がわかりません。この画像でわかるように、セルをクリックするとテキスト ボックスの輪郭が醜いので、可能であればテーブル全体でそれをオフにしたいと思います。アイテム/アイコンの配置を制御するにはデリゲートを使用する必要があることを読みましたが、私のような初心者にとっては、その権利を理解するには時間がかかりすぎるため、その列の見苦しさを軽減する簡単な解決策があれば、どうぞ、例をいただければ幸いです。
質問する
12413 次
3 に答える
5
その四角形はフォーカスの四角形であり、スタイルシートで非表示にすることはできません。
編集:したがって、4つのオプションがあります:
1 - 使えそうです
tablewidget->setFocusPolicy(Qt::NoFocus);
ただし、キーボード イベントを処理する機能は失われます。フォーカス ポリシーを参照してください
2 - チェック可能なウィジェット項目をsetFlagsで選択できないように無効に設定します。これがバグかどうかはわかりませんが、私の Qt ではチェックボックスをクリックすることが許可されています。
3 - setFlagsを使用して最初の列をチェック可能に設定し、その 2 番目の列を使用しないでください。チェックボックスは文字列と同じ列に表示されますが、左側に表示されます。
4-作成したくないカスタムデリゲート。
そして、あなたはここに例を持っています
于 2013-04-29T10:45:20.377 に答える