设置无边框窗口(隐藏标题栏): setWindowFlags(Qt::FramelessWindowHint)
介绍: Produces a borderless window. The user cannot move or resize a borderless window via the window system. On X11, the result of the flag is dependent on the window manager and its ability to understand Motif and/or NETWM hints. Most existing modern window managers can handle this.
透明QPushButton:
pushButton->setStyleSheet("{background-color:transparent}");
添加图片:
按钮 : void setIcon ( const QIcon & icon )
label : void setPixmap ( const QPixmap & )
如果直接使用文件名初始化QPixmap,图片不自动缩放,要想调整图片大小,可以按下列顺序:
1、用图片路径名(可以是资源路径)实例化一个QImage对象
2、调用QImage::scaled方法调整图片大小,返回一个QImage对象
3、将2中返回值作为参数传递给方法 QPixmap::convertFromImage(),替换QPixmap数据
4、调用setPixmap()
窗口:http://blog.csdn.net/cibiren2011/article/details/13022843
文字对齐方式:
QLabel : setAlignment()
QPushButton: setStyleSheet("text-align:left;");
字符编码/显示汉字:
http://blog.csdn.net/yf210yf/article/details/6697445
- QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
- QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
- QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
qt creator通过网络直接远程调试硬件设备出现remote path not set don't know what to run
在工程文件目录的*.pro文件中增加即可!
target.path = /home/bm/inject
INSTALLS += target
上面即把文件上传到inject目录,并运行
Qt全屏显示子窗口:
http://blog.sina.com.cn/s/blog_4d9b6da90100myl0.html
QT中全屏显示子窗口的方法:
QT中窗口部件QWidget成员函数showFullScreen();是用于将窗口部件全屏显示,但是他只对窗口模式的部件有用。子窗口的特征是Qt::SubWindow,不是独立的窗口。因此对其调用showFullScreen()无效。通过对对子窗口调用:setWindowFlags(Qt::Dialog);或setWindowFlags(Qt::Window);将其设为窗口模式后,即可调用showFullScreen();进行全屏显示了。
相对于子窗口的全屏显示方法,不得不提的是子窗口退出全屏的方法。
MFC中,子窗口退出全屏的方法简单直接,直接调用SetWindowPos()函数将子窗口显示到预定的位置即可。
QT中,直接使用move和resize对窗口定位是没有效果的。需要先将子窗口设位非窗口模式。之后再将窗口移到理想位置。即先调用setWindowFlags(Qt::Dialog);或者setWindowFlags(Qt::SubWindow);在调用move和resize函数。
有人提到退出全屏时,调用showNormal(),再调setWindowFlags(Qt::SubWindow)。
这有两个问题:1)showNormal()也是只对顶级窗口有效。2)可以考虑先调用showNormal()将窗口设为原来大小,在将窗口设为子窗口模式。但这样窗口回到父窗口之中也不会显示原来的大小。