Qt를 개발 경험 팁 61-70

  1. 많은 사람들이 통일 대답은 여기에, (현재 시간 노드 2018) Qt는 임베디드 플랫폼과 더 나은 어떤 질문 imx6 + 335x 더 안정, RK3288 RK3399과 다른 작업의 성능, 저렴한, 난 그냥 전체 왕국 H3를 사용, 라즈베리와 함께 재생할 수 있습니다 오렌지 파벌 파벌.

  2. 코드 주석의 큰 덩어리를 들어, 0 # 만약에 제안하고 모든 코드의 섹션, 함께 코드 블록을 포함하고 취소하면 코드를 열려면 다음에, 다음과 같은 경우, 다시 확인해야합니다 // 선택 #endif 다음 0 0 만 크게 효율을 향상 1로 변경되어야 #IF 때문이다.

  3. Qt는 패키지 출시, Qt5 포장 도구 (macdeployqt에에 linuxdeployqt, 맥 등에 리눅스를) windeployqt 후 제공하는 아주 사용하기 쉬운 응용 프로그램을 패키지 할 수있는 많은 방법이있다 이하, 가끔 숫자와 함께 번들로 만병 통치약을하지 발견 종속 파일은, 때때로 특히 QML의 경우에, 어떤 플러그인을 포장하는 것을 잊지 것이며, 이러한는 FFmpeg에 의존하는 프로그램 같은 타사 라이브러리를 인식하지 못하는 경우, 해당 라이브러리가 자신의 복사본을 필요 궁극적 대법은 실행 파일입니다 Qt는 설치 디렉토리 아래의 bin 디렉토리에 복사 한 다음 전체 패키지 함께 하나 하나 제거 구성 요소는 지금까지 정상 작동을 삭제할 때까지에 의존하지 않을 수 있습니다.

  4. 하부 QElapsedTimer 타이머 처리를 사용 QT 애니메이션, 이러한 규칙 기반 알고리즘으로 어떤 특정 데이터가 완료되고, 프로세스는 속성.

  5. 원형 테두리 색상이 다르게 360도 아크 똑같은 효과를 그릴 수있다 때 배경색 않고 만 드로잉한다.
QRect rect(-radius, -radius, radius * 2, radius * 2);
//以下两种方法二选一,其实绘制360度的圆弧=绘制无背景的圆形
painter->drawArc(rect, 0, 360 * 16);
painter->drawEllipse(rect);
  1. 클래스는 몇 가지 작은 프로젝트를 수행 할 때 지역 변수, 개인 권고를 저장하는 데 사용되는 개인 클래스를 정의의 구현 파일에, 사실, 아주 D 포인터 불확실한 표시되지 않는 경우, 이러한 메커니즘을 소개하는 많은 필요가 아니라, 코드를 줄일 수 독서 매우 무식한 힘을 보일 것이다 프로젝트를받은 후, 초보자 복잡성이 증가.

  2. 많은 사람들이 당신이 그릴 후 유연성은, 당신은 같은 그라디언트의 다양한 사용할 수 있습니다 QPen에게 브러시를 설정하는 등 얼마나 많은 시간을 알지 향상시킬 수 있도록, 당신은 QPen 또한 브러시를 설정할 수 있습니다, 사실 당신은 단지 단조로운 색상을 설정할 수있는 브러시를 설정 계조 색 진행 막대 및 텍스트보다는 단조로운 컬러의 드로잉.

  3. 이들 컨트롤, 당신은 스크롤 막대 영역 투명 배경을 설정하는 등의 작업에 대한 뷰포트 ()를 설정하지 작업이 필요합니까 발견과 직접 거래하는 가끔은 QTextEdit / QTableWidget / QScrollArea, 같은 뷰포트에 많은 컨트롤, 당신은 scrollArea-를 사용할 필요가 > 뷰포트 () -> setStyleSheet ( 「배경 색상 : 투명; ") 대신 scrollArea-> setStyleSheet ("QScrollArea {배경색 : 투명;} ");

  4. 가끔 마우스가 마우스 이동 이벤트 MouseMove 이벤트는 부모 클래스를 식별 할 때 마우스가 다른 컨트롤 위에 이동할 때 양식 위, 다른 컨트롤이있는 경우, true로 setMouseTracking 세트를 추적,이 시간 필요가 HoverMove 이벤트를 사용하기 위해, 필요 첫 번째 세트의 setAttribute (Qt는 :: WA_Hover, TRUE);

  5. 날짜 시간 QDateTime Qt는 패키지 매우 강력한 클래스, 날짜와 시간이 밀리 초 변환 날짜와 시간의 수가있을 수 있습니다, 교환 문자열이 될 수 있습니다, 그것은 또한 1,970초 경과 시간 및 날짜와 상호 교환 등이있다.
QDateTime dateTime;
QString dateTime_str = dateTime.currentDateTime().toString("yyyy-MM-dd hh:mm:ss");
//从字符串转换为毫秒(需完整的年月日时分秒)
datetime.fromString("2011-09-10 12:07:50:541", "yyyy-MM-dd hh:mm:ss:zzz").toMSecsSinceEpoch();
//从字符串转换为秒(需完整的年月日时分秒)
datetime.fromString("2011-09-10 12:07:50:541", "yyyy-MM-dd hh:mm:ss:zzz").toTime_t();
//从毫秒转换到年月日时分秒
datetime.fromMSecsSinceEpoch(1315193829218).toString("yyyy-MM-dd hh:mm:ss:zzz");
//从秒转换到年月日时分秒(若有zzz,则为000)
datetime.fromTime_t(1315193829).toString("yyyy-MM-dd hh:mm:ss[:zzz]");

추천

출처www.cnblogs.com/feiyangqingyun/p/12056831.html