QT 使用雜記
阿新 • • 發佈:2018-04-18
QT1.QString 的 字符編碼轉換函數是引用取值,如:toLocal8Bit(),不能使用返回的臨時對象進行操作,否則,如果不進行新對象保存,此臨時對象會在本行代碼執行結束後自行銷毀,導致後續代碼使用出錯。
來個例子:
QString only_a_test = "imya kb";
const char * will_error = only_a_test.toLocal8Bit().constData(); // 這行執行完,will_error變量將是不確定的值。
如果需要使用,需要保存新定義 QByteArray 變量,用於保存 toLocal8Bit(),返回的臨時對象,才能用於後續代碼的使用。
QString only_a_test = "imya kb";
QByteArray new_save_str = only_a_test.toLocal8Bit();
const char * it_is_right = new_save_str.constData();
2.QToolBar 的 中的action ,按鈕,stylesheet 設置:格式:QToolBar QToolButton{...}
QToolBar 間接繼承於 QWidget ,所以QToolBar本質上是一個 QWidget,如果只使用 QToolBar{...} 進行stylesheet 設置,是不能作用到 QToolBar 中的 action 上的,這一點 QT文檔裏我沒翻著,不知道QT咋想的,或者是我沒找到,有誰知道QT文件哪裏有,可以告訴我。
"QToolBar{background-color:rgb(39, 39, 39); color:rgb(204, 204, 204);}" "QToolBar QToolButton{background:rgb(39, 39, 39); color:rgb(204, 204, 204);}" /*這個就是控制 action的設置*/ "QToolBar QToolButton:hover{background-color:rgb(83, 83, 83);}" "QToolBar QToolButton:checked{background-color:rgb(83, 83, 83);}" "QToolBar QLabel{background-color:rgb(39, 39, 39);}" /**/
3.
QT 使用雜記