Qt一些小技巧(一)

部分代碼源自互聯網

1.帶有菜單項的ToolButton -----------QToolButton
代碼如下:
    //添加工具欄
    QToolBar *pToolBar = new QToolBar;
    
    QToolButton *pMenuBtn = new QToolButton;
    pMenuBtn->setText(tr("Menu"));


    QMenu *pMenu = new QMenu;
    pMenu->addAction(tr("Qt"));
    pMenu->addAction(tr("Linux"));
    pMenu->addAction(tr("FreeOS"));


    pMenuBtn->setMenu(pMenu);
    connect(pMenuBtn, SIGNAL(clicked()), pMenuBtn, SLOT(showMenu()));


    pToolBar->addWidget(pMenuBtn);
    this->addToolBar(pToolBar);

2.在類MainWindow中的構造函數中我們添加如下一句代碼:
                  //設置窗口透明效果
                  this->setWindowOpacity(0.8);

3.Qt標準對話框之QMessageBox:
QMessageBox::information(NULL, "Title", "Content", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
QMessageBox::critical(NULL, "critical", "Content", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
QMessageBox::warning(NULL, "warning", "Content", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
QMessageBox::question(NULL, "question", "Content", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
QMessageBox::about(NULL, "About", "About this application");
QMessageBox message(QMessageBox::NoIcon, "Title", "Content with icon."); 
message.setIconPixmap(QPixmap("icon.png")); 
message.exec();
我們使用QMessageBox類的時候有兩種方式,一是使用static函數,另外是使用構造函數。
首先來說一下static函數的方式。注意,static函數都是要返回一個StandardButton,我們就可以通過判斷這個返回值來對用戶的操作做出相應。
QMessageBox::StandardButton rb = QMessageBox::question(NULL, "Show Qt", "Do you want to show Qt dialog?", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes); 
if(rb == QMessageBox::Yes) 
{ 
        QMessageBox::aboutQt(NULL, "About Qt"); 
}

如果要使用構造函數的方式,那麼我們就要自己運行判斷一下啦:
QMessageBox message(QMessageBox::NoIcon, "Show Qt", "Do you want to show Qt dialog?", QMessageBox::Yes | QMessageBox::No, NULL); 
if(message.exec() == QMessageBox::Yes) 
{ 
        QMessageBox::aboutQt(NULL, "About Qt"); 
}




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章