QTableView의 한 셀에 여러 링크를 제공하는 방법

thnkwthprtls

나는 QTableView내 프로젝트에서 여러 열에 하이퍼 링크가 포함 된 데이터가 표시됩니다. 열의 셀을 클릭하면 브라우저에서 링크 된 페이지가 열리도록 설정하기 위해 이들에 대한 델리게이트 클래스를 사용합니다. 이것은 하나의 페이지에 하나의 값만 연결될 때 훌륭하게 작동합니다. 예를 들어, 열에 A, B, C 등의 값이있는 mysite.com에 대한 검색 값 목록이있을 수 있습니다. 사용자가 A가있는이 열의 셀을 클릭하면 mysite에 대한 하이퍼 링크가 열립니다. com / A (다시 말하지만이 부분은 잘 작동합니다). 그러나 이제 "A, B"와 같은 열을 추가해야합니다. 여기에서 클릭하는 항목에 따라 동일한 셀에서 A AND B를 검색하는 링크를 지원해야합니다. 나는 한동안 온라인에서 검색을 해왔고 아마도 이것은 대리인과 함께 할 수 없을 것 같습니다. 나는에 라인이QTextBrowser 내 코드의 다른 곳에서 다음과 같이 HTML을 통해이 작업을 수행 할 수 있습니다.

QString toShow;
for(int i = 0; i < searchValueList.size(); i++)
{
  toShow.append("`<a href=\"www.mysite.com/" + searchValueList.at(i) + "\"`>" +
    searchValueList.at(i) + "`</a`>";
}

그러나 QTableViewHTML 서식 또는 서식있는 텍스트를 인식 하도록 셀을 설정하는 방법을 찾을 수 없으며 아쉽게도 그것이 가능할지 확신하지 못합니다. 내가 달성하려는 일을 할 수있는 방법이 전혀 없습니까?

Nejat

QItemDelegate서식있는 텍스트를 표시 할 수있는 특정 열에 대한 사용자 지정 만들 수 있습니다 . 대리인은 다음과 같을 수 있습니다.

class RichTextDelegate: public QItemDelegate
{
public:
    RichTextDelegate(QObject *parent = 0);

    void paint( QPainter *painter,
                            const QStyleOptionViewItem &option,
                            const QModelIndex &index ) const;
};

RichTextDelegate::RichTextDelegate(QObject *parent):QItemDelegate(parent)
{
}

void RichTextDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
{

    if( option.state & QStyle::State_Selected )
        painter->fillRect( option.rect, option.palette.highlight() );


    painter->save();

    QTextDocument document;
    document.setTextWidth(option.rect.width());
    QVariant value = index.data(Qt::DisplayRole);
    if (value.isValid() && !value.isNull())
    {
                document.setHtml(value.toString());
                painter->translate(option.rect.topLeft());
                document.drawContents(painter);

    }

    painter->restore();
}

특정 열에 대한 항목 대리자를 설정해야합니다.

ui->tableView->setItemDelegateForColumn(colIndex, new RichTextDelegate(ui->tableView));

이제 행의 특정 열에 대한 입체 텍스트를 서식있는 텍스트로 설정하면 제대로 표시됩니다.

model->item(rowIndex,  colIndex)->setText(someRichText);

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

제조업체의 각 속성에 대한 링크를 제공하는 방법

분류에서Dev

Specflow의 동일한 기능 파일에 여러 데이터를 입력으로 제공하는 방법

분류에서Dev

Android에서 단락 내의 단어에 대한 하이퍼 링크를 제공하는 방법

분류에서Dev

사용자 정의 QAbstractTableModel을 사용하여 Qtableview를 만든 후 셀에 색상을 지정하는 방법

분류에서Dev

완전한 요청 정보가 브라우저의 네트워크 탭에 제공되므로 여러 POST를 피하는 방법

분류에서Dev

Jupyter 노트북의 한 셀에서 여러 이미지를 표시하는 방법

분류에서Dev

하나의 포함 메시지에 여러 링크를 보내는 방법

분류에서Dev

Excel에서 여러 셀의 결과를 고정 셀로 반환하는 방법

분류에서Dev

xpath에서 Salesforce의 여러 네임 스페이스를 제공하는 방법

분류에서Dev

여러 셀에서 하이퍼 링크를 쉽게 제거하는 방법은 무엇입니까?

분류에서Dev

Bash를 사용하여 한 셀에서 여러 셀로 값을 분할하는 방법

분류에서Dev

셀레늄 및 C #을 사용하여 다른 창에서 여러 링크를 여는 방법

분류에서Dev

Java의 동일한 클래스에서 다른 setter를 사용하여 setter에 값을 제공하는 방법

분류에서Dev

레이블의 텍스트에 단추 링크를 제공하는 방법

분류에서Dev

jQuery를 사용하여 Nightmare에서 동일한 클래스의 href 링크를 가져 오는 방법

분류에서Dev

Pandas에서 동일한 키를 공유하는 여러 행의 한 행으로 여러 열을 만드는 간단한 방법

분류에서Dev

SyndicationFeed를 사용하고 항목 수를 제한하여 Atom 피드에서 링크를 검색하는 방법

분류에서Dev

루프를 사용하여 한 폴더의 여러 파일에 awk 스크립트를 적용하는 방법

분류에서Dev

SDWebImage를 사용하여 여러 크기의 이미지에 대한 이미지를 캐시하는 방법

분류에서Dev

Android 앱에서 여러 딥 링크를 처리하는 방법

분류에서Dev

Instafeed에서 여러 태그를 제공하는 방법

분류에서Dev

QTableView에서 여러 항목을 선택한 경우 단추를 비활성화하는 방법

분류에서Dev

여러 개의 연결된 하이퍼 링크를 동시에 여는 방법은 무엇입니까?

분류에서Dev

제품 페이지에서 div를 토글하기위한 이미지 캐 러셀의 앵커 링크

분류에서Dev

단일 셀에서 여러 randbetween () 결과의 빈도를 추적하는 방법

분류에서Dev

한 번에 여러 조건의 결과를 얻는 방법

분류에서Dev

목록보기에 링크 배열이 있습니다. 하나의 웹보기에서 이러한 링크를 열 수있는 방법

분류에서Dev

관리 사이트 테이블의 다 대다 관계에서 각 데이터에 대한 링크를 제공하는 방법

분류에서Dev

픽셀 행렬을 사용하여 동일한 플롯에 여러 이미지를 배치하는 방법

Related 관련 기사

  1. 1

    제조업체의 각 속성에 대한 링크를 제공하는 방법

  2. 2

    Specflow의 동일한 기능 파일에 여러 데이터를 입력으로 제공하는 방법

  3. 3

    Android에서 단락 내의 단어에 대한 하이퍼 링크를 제공하는 방법

  4. 4

    사용자 정의 QAbstractTableModel을 사용하여 Qtableview를 만든 후 셀에 색상을 지정하는 방법

  5. 5

    완전한 요청 정보가 브라우저의 네트워크 탭에 제공되므로 여러 POST를 피하는 방법

  6. 6

    Jupyter 노트북의 한 셀에서 여러 이미지를 표시하는 방법

  7. 7

    하나의 포함 메시지에 여러 링크를 보내는 방법

  8. 8

    Excel에서 여러 셀의 결과를 고정 셀로 반환하는 방법

  9. 9

    xpath에서 Salesforce의 여러 네임 스페이스를 제공하는 방법

  10. 10

    여러 셀에서 하이퍼 링크를 쉽게 제거하는 방법은 무엇입니까?

  11. 11

    Bash를 사용하여 한 셀에서 여러 셀로 값을 분할하는 방법

  12. 12

    셀레늄 및 C #을 사용하여 다른 창에서 여러 링크를 여는 방법

  13. 13

    Java의 동일한 클래스에서 다른 setter를 사용하여 setter에 값을 제공하는 방법

  14. 14

    레이블의 텍스트에 단추 링크를 제공하는 방법

  15. 15

    jQuery를 사용하여 Nightmare에서 동일한 클래스의 href 링크를 가져 오는 방법

  16. 16

    Pandas에서 동일한 키를 공유하는 여러 행의 한 행으로 여러 열을 만드는 간단한 방법

  17. 17

    SyndicationFeed를 사용하고 항목 수를 제한하여 Atom 피드에서 링크를 검색하는 방법

  18. 18

    루프를 사용하여 한 폴더의 여러 파일에 awk 스크립트를 적용하는 방법

  19. 19

    SDWebImage를 사용하여 여러 크기의 이미지에 대한 이미지를 캐시하는 방법

  20. 20

    Android 앱에서 여러 딥 링크를 처리하는 방법

  21. 21

    Instafeed에서 여러 태그를 제공하는 방법

  22. 22

    QTableView에서 여러 항목을 선택한 경우 단추를 비활성화하는 방법

  23. 23

    여러 개의 연결된 하이퍼 링크를 동시에 여는 방법은 무엇입니까?

  24. 24

    제품 페이지에서 div를 토글하기위한 이미지 캐 러셀의 앵커 링크

  25. 25

    단일 셀에서 여러 randbetween () 결과의 빈도를 추적하는 방법

  26. 26

    한 번에 여러 조건의 결과를 얻는 방법

  27. 27

    목록보기에 링크 배열이 있습니다. 하나의 웹보기에서 이러한 링크를 열 수있는 방법

  28. 28

    관리 사이트 테이블의 다 대다 관계에서 각 데이터에 대한 링크를 제공하는 방법

  29. 29

    픽셀 행렬을 사용하여 동일한 플롯에 여러 이미지를 배치하는 방법

뜨겁다태그

보관