QDate, QDateTime 및 타임 스탬프 변환(기타 개발 에세이 휴대)

4119 단어 개발 노트QT

QDateTime Time Time 스탬프

QDateTime time = QDateTime::currentDateTime();   //      
int timeT = time.toTime_t();   //          

상기 지식 코드 획득: 블로거: 딸기 케이크 사람: 시간 스탬프와 QDateTime 상호 변환.

QDate Time S탬프


QDate에서 직접 타임 스탬프로 전환하는 방법을 찾을 수 없습니다.
QDate date;
QString cutOffDate = QString::number(QDateTime::fromString(date.toString("yyyy-MM-dd hh:mm:ss"), "yyyy-MM-dd hh:mm:ss").toTime_t());

시간 스탬프 QDate


 

시간 스탬프 QDateTime


 

QDate 또는 QDateTime 데이터에 N일을 추가하여 새로운 시간 확보


QT 도움말 문서에서 다음과 같은 QDate:::addDays 를 찾을 수 있습니다.
QDate QDate::addDays(qint64 ndays) const
Returns a QDate object containing a date ndays later than the date of this object (or earlier if ndays is negative).
Returns a null date if the current date is invalid or the new date is out of range.

 
 

QSqlQuery에서 마지막으로 실행한 sql 문장 가져오기

qDebug()<

 

Dialog 창 사용자 지정 버튼 속성


기본 코드:
done(QDialog::Accepted);//        
done(QDialog::Rejected);//        

//     :           dialog  
//        :accepted           ,rejected          

QTableWidget 데이터 비우기

void QTableWidget::clearContents()

위 코드만 설정하면 내용만 비워지지만 표의 칸은 남아있습니다.도움말 설명서 All Classes | Qt 5.9를 검토한 결과 위의 코드가 데이터를 비운 후에 다음과 같이 발견되었습니다.
The table dimensions stay the same.
나는'사이즈는 변하지 않는다'는 말을 한 것 같다. 마지막으로 이 종류의 다른 방법을 훑어보고 다음과 같은 코드 조작을 했다.
tableW->setRowCount(0);

기왕 사이즈가 변하지 않는 이상 나는 너의 총 행동을 0으로 만들겠다, 에이!원하는 결과를 얻었습니다.
 

QTableWidget 더블 클릭 신호


이 신호는 이전에 사용한 적이 있고, 원래는 이곳에서도 사용하려고 했지만, 아래의 마우스 우클릭 신호를 배운 후 기능의 집중을 위해 쓸모가 없었다.여기에는 자신의 이전 코드와 정리 설명이 있어서 나중에 찾아보기 편합니다.
먼저 Signals 는 다음과 같습니다.
void
doubleClicked(const QModelIndex &index)
도움말 문서를 다시 읽었습니다.
signals inherited from QAbstractItemView
그리고 제 코드에 올리세요.
connect(ui->tblShowInfo, &QTableWidget::doubleClicked, this, &ShowArea::onDoubleSelect);

위와 같이, 여기 표 tbl Show Info의 신호와 우리가 쓴 홈 함수 onDouble Select를 연결합니다.그다음에 저희 슬롯 함수에서 본인이 하고 싶은 조작을 하면 돼요.
 

QTableWidget 마우스 오른쪽 버튼 신호


먼저 QTableWidget을 마우스 오른쪽 버튼으로 클릭하면 Signals가 표시됩니다.
void
customContextMenuRequested(const QPoint &pos)
우선, 이 시그널스는 QWiget 계승(inherit)에서 내려왔다는 것을 알게 되었다.
어떤 신호가 알았으면 관련 슬롯 함수를 고쳤는지 모르겠다. 생각보다 책임을 지는 것도 그렇게 책임을 지는 것이 아니다. (사실은 내가 더 깊은 코드 지식을 알지 못했다) 내 프로젝트의 코드에 직접 올라간다.
//      :
private:
    QMenu *rigthMenuRequest;
    QAction *updateAct;
    QAction *deleteAct;
public Q_SLOTS:
    void onCustomContextMenuRequested(QPoint pos);

///      :
//     :
rigthMenuRequest = new QMenu(ui->tblShowInfo);
updateAct = new QAction("  ",this);
deleteAct = new QAction("  ",this);

connect(ui->tblShowInfo, &QTableWidget::customContextMenuRequested, this, &ShowContract::onCustomContextMenuRequested);
//   
void ShowContract::onCustomContextMenuRequested(QPoint pos)
{
    qDebug()<addAction(updateAct);
    rigthMenuRequest->addAction(deleteAct);
    rigthMenuRequest->exec(QCursor::pos());
}


물론 위에서 이러고 싶다면 테스트를 할 때 나처럼 이 테이블에서 오른쪽 단추를 눌러도 아무런 반응이 없다는 것을 알게 될 것이다.
내가 여기까지 테스트한 후에 나는 내가 선배의 문서를 공부할 때 또 대추를 통째로 삼켰다는 것을 알았다. 돌아와서 자세히 살펴보니 관건은 다음과 같다.
    /*
     * setContextMenuPolicy      widget        , CustomContextMenu        
     *      ,                   。  widget   CustomContextMenu ,
     *               customContextMenuRequested(const QPoint &pos)  ,
     *                ,  pos     。
     */
    ui->tblShowInfo->setContextMenuPolicy(Qt::CustomContextMenu);

이상은 개인이 이번에 개발한 오른쪽 키 기능의 주요 코드이다. 이후에 나는 자신의 요구에 따라 두 액션 대상의 triggered 신호 시간 처리를 처리했다. 여기서 설명하지 않겠다.
이 지식점: QTable Widget 마우스 오른쪽 버튼 신호의 주요 지식은 선배: @hebbely의 글: Qt QTable Widget의 사용법에 대한 지식을 참고합니다.
* @hebbely 선배님의 글이 저에게 주신 도움과 지적에 감사드립니다.

좋은 웹페이지 즐겨찾기