1. 程式人生 > >針對ARM環境下 tableview tablewidget 滑動塊(scroll)設定寬度

針對ARM環境下 tableview tablewidget 滑動塊(scroll)設定寬度

應用範圍:ARM環境下修改tableview和tablewidget的滑動塊(scroll)的寬度


提出問題:無法通過設定setMaximumWidth()和setMinimumWidth()以及樣式表setStyleSheet()來實現修改scroll的寬


搜尋解決方案:

        經過研究發現,修改樣式表同時結合修改顯示程式風格(實測在ARM顯示風格並沒有發生改變)能夠實現效果,如下圖所示(設定setMaximumWidth()和setMinimumWidth()以及樣式表setStyleSheet()

    ui->tableWidget->verticalScrollBar()->setMinimumWidth(40);
    ui->tableWidget->verticalScrollBar()->setMaximumWidth(60);
    ui->tableWidget->verticalScrollBar()->setStyleSheet("QScrollBar:vertical {"
                                                             "width: 100px;"
                                                          "}");



             結果說明:設定setMaximumWidth()和setMinimumWidth()以及樣式表setStyleSheet()的效果是存在的不知是何原因導致(如果有更好辦法,或則解釋麻煩告知)


具體解決程式碼:

        1  修改對應控制元件(tableview同樣適用)樣式(可以選擇qss)

    ui->tableWidget->verticalScrollBar()->setStyleSheet("QScrollBar:vertical {"
                                                             "width: 100px;"
                                                          "}");
        2 修改風格型別(有兩種方式)

                1)./執行檔案 -style windows

                2)  在main中修改風格型別(具體型別請參考手冊QStyle類)

                Typically they include "windows" and "fusion". Depending on the platform, "windowsxp", "windowsvista" and "macintosh" may be available. Note that keys are case insensitive.


         QApplication::setStyle(QStyleFactory::create("windows"));