본문 바로가기

프로그래밍/시스템

C++ Qt 잡지식

반응형

 

스크린 모드 변경 

1
2
this->showFullScreen(); // 전체화면 모드
this->showMaximized(); // 최대화
cs

 

테이블 컬럼 크기 조절 & 테이블 편집 기능 비활성화

1
2
QHeaderView::ResizeMode(QHeaderView::Stretch);
ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
cs

 

 

ScrollArea에 이미지 삽입

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
QPixmap img("C:\\mypng.png");
    if (!img.isNull()){
    img = img.scaled( img.width(),img.height() );
 
  
    QLabel *label = new QLabel(this);
    label->setPixmap(img);
    label->setAlignment(Qt::AlignHCenter);
    label->show();
 
    ui->scrollArea->setBackgroundRole(QPalette :: Light );
    ui->scrollArea->setWidget(label);
 
    // delete cache
    QPixmapCache::clear();
cs

 

포커스 설정

 
ui->Line_Edit->setFocus();
cs

 

 

문자정수

1
2
3
QString str1 = "1234";
int num = str1.toInt();    
QString str2 = QString::number(num);
cs

 

 

위젯 투명도 설정

1
2
setWindowOpacity(0.5);
setStyleSheet("QWidget{background: #000000}");
cs

 

자료형 사용

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// QMap =====================
QMap<QString,int> Age;
 
     Age.insert("Mary",24);
     Age.insert("Sabina",25);
     Age.insert("Mia",22);
 
     Age.remove("Sabina");
     
     qDebug() << Age["Mary"]; // 24
 
 
// QVector =====================
QVector<QStringList> vector;
 
    QStringList vector_table;
    vector_table.append("Mary");
    vector_table.append("Sabina");
 
    vector.append( vector_table );
 
    qDebug() << vector; // (("Mary", "Sabina"))
 
// QList =====================
QList<int> list;
    for(int i=0; i<5; i++)
    list.append(i);
    
    list.removeOne(3);
 
    foreach(int n,list) // 0 1 2 4
    qDebug() << n; 
 
// ===========================
QString name_list = "Kim,Bak,Choi,Suk,Choo";    
QStringList name = name_list.split(",");
 
    int name_count  = name_list.split(",").length();
 
    foreach(QString sung,name) qDebug() << sung;
cs

 

관리자권한으로 프로그램 실행 https://msdn.microsoft.com/en-us/library/windows/desktop/bb762153(v=vs.85).aspx

1
ShellExecute(0, L"runas", L"powershell", L"-file C://Users/test.ps1" , NULL, SW_SHOW);
cs

 

↓요구 조건 

1
#include <shlwapi.h>
cs

 

 

일정 시간 경과 시 Slot 함수 호출 - QTimer 

1
2
3
QTimer timer = new QTimer(this);
connect(timer,SIGNAL(timeout()),this,SLOT(test()));
timer->start(1000); // 1초마다 test 함수 호출
cs

 

윈도우 타이틀 이름 변경

1
QWidget::setWindowTitle("Program_name");
cs

 

윈도우 화면 최대화 버튼 비활성화

1
QMainWindow::setWindowFlags( Qt::WindowTitleHint |  Qt::WindowMinimizeButtonHint | Qt::WindowCloseButtonHint );
cs

 

 

웹 요청 - 응답

 

  1.  .pro 파일에 QT += network 

  2.  #include <QtNetwork>

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
QUrl myURL;
    myURL.setUrl("http://abcd.com");
 
    QNetworkAccessManager manager;
 
    QNetworkReply *reply = manager.get(QNetworkRequest(myURL));
 
    QEventLoop loop;
    connect(reply, SIGNAL(finished()), &loop, SLOT(quit()));
    connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), &loop, SLOT(quit()));
    loop.exec();
 
 
 
    QByteArray bts = reply->readAll();
    QString str(bts);
  
    qDebug() << str;
    delete reply;
cs

 

 

 

 

반응형

'프로그래밍 > 시스템' 카테고리의 다른 글

C++ Qt 윈도우 배포용 라이브러리 추가  (0) 2018.05.04
C++ 11 람다표현식(Lambda expression)  (0) 2018.05.03
C++ Qt 엑셀 사용하기  (0) 2018.03.19
C++ Qt XML  (0) 2018.03.19
C++ Qt Ui Style Sheet 활용  (0) 2018.03.17