如何做教育类网站,天津建筑网站建设,建站公司排名,做打牌的网站怎么办我们在使用Qt开发时#xff0c;经常会遇到Windows上应用正常#xff0c;但到Linux嵌入式下就会出现莫名奇妙的问题。这篇文章就举例分析下#xff1a; 1.QPushButton按钮外侧虚线框问题 Windows下QPushButton按钮设置样式正常#xff0c;但到了Linux下就会有一个虚线边框。…我们在使用Qt开发时经常会遇到Windows上应用正常但到Linux嵌入式下就会出现莫名奇妙的问题。这篇文章就举例分析下 1.QPushButton按钮外侧虚线框问题 Windows下QPushButton按钮设置样式正常但到了Linux下就会有一个虚线边框。这就需要在QPushButton按钮的样式表里加上一句“outline: none;”才能解决这个问题。 整个样式表里这样设置才能消除虚线边框
QPushButton{//前景色color: rgba(255, 255, 255, 1);//字体font: bold normal 20px Source Han Sans CN;//背景色background-color: transparent;//边框图片border-image:url(:/image/Image/btm_btn_ok1_n.png);//设置轮廓为无避免出现虚线边框outline: none;
}
QPushButton:hover, QPushButton:pressed, QPushButton:checked{
//按下选中的图片border-image:url(:/image/Image/btm_btn_ok1_p.png);
}2.鼠标箭头问题 Windows下Qt开发的桌面应用程序没有鼠标箭头其实也有只不过归附到系统桌面上了但移植到Linux开发板上程序左上角就会出现鼠标箭头。 这是由于Linux嵌入式开发板上本身没有桌面你的程序就被当作系统桌面了。想要整个程序中都不出现鼠标可以在main函数中实例化了QApplication 后通过添加“app.setOverrideCursor(Qt::BlankCursor);”可以解决这个问题当然还有其它解决方式。 整体代码如下
int main(int argc, char *argv[]) {QApplication app(argc, argv);QMainWindow window;window.show();// 这是将鼠标设置为沙漏等待状态//QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));//这是将鼠标设置为不可见app.setOverrideCursor(Qt::BlankCursor);//这是恢复鼠标为可见//app.setCursor(Qt::ArrowCursor); //显示正常鼠标return app.exec();
}如果只希望在某个QWidget下不出现鼠标光标其他QWidget下正常则要对这个widget调用
QWidget::setCursor(QCursor(Qt::BlankCursor));这样该页面鼠标就消失其他页面窗口仍将出现鼠标.