1、设置QListWidgetItem中的文本居中显示,先得到QListWidgetItem对象,然后设置QListWidgetItem的setTextAlignment()。
2、设置QListWidgetItem中的文本颜色,
3、border-image/background-image/image的区别:
border-image拉伸平铺,子窗口会沿用父窗口背景。
background,不拉伸,原图多张贴满。
image,设置后没见起作用。
设置flat按钮,可以在fram上放background-image,然后每个按钮加个透明background即Ok,点击时会有按钮效果,不用自己处理点击时图片颜色大小等,已达到按钮效果,当然想华丽点的就要自己多费心了。
4、获取Screen大小,以确定控件的显示位置
QDesktopWidget* desktopWidget = QApplication::desktop();
//得到客户区矩形
QRect clientRect = desktopWidget->availableGeometry();
//得到应用程序矩形
QRect applicationRect = desktopWidget->screenGeometry();
Qt::Tool
5、设置QTreeWidgetItem的Item的高度
用item.setSiZeHint设置高度
6、QT 实现QLabel上的超链接
一个简单的例子:
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
QLabel* label = new QLabel("<a href = 要跳转到的链接地址>显示的内容</a>",this);
label->setFixedSize(200,100);
label->move(10,10);
label->show();
connect(label,SIGNAL(linkActivated(QString)),this,SLOT(openUrl(QString))); //在.h里面定义一个槽private slots: void openUrl(QString url);
}
void Widget::openUrl(QString url)
{
QDesktopServices::openUrl(QUrl(url));
}
7、QT QSplitter
QWidget* widget = new QWidget();
m_tableSplitter = new QSplitter(Qt::Horizontal, this); //this 为指向mainwindow的指针
//... 假设已经有两个Widget放到里面。
m_tableSplitter->addWidget(widget);
m_tableSplitter->addWidget(new Lable("aaa"));
m_tableSplitter->setHandWidth(4); //设置splitterHandle的宽度
m_tableSplitter->setStretchFactor(1,1); //分割的区域为默认大小
widget->setFixedHeight(30); //要使分割区域大小为此widget的大小,
//需注释掉m_tableSplitter->setStretchFactor(1,1);
m_tableSplitter->setStyleSheet("QSplitter::handle { background-color: black }");
QSplitterHandle *splitterHandle = m_tableSplitter->handle(1);
if(splitterHandle)
{
//Disable the Middle Line, it can't adjust.
splitterHandle->setDisabled(true);
}
void setStretchFactor(int index, int stretch);
拉伸系数为负整数的微件将占据最大的多余空间.
就算我们不设置 拉伸系数stretch, 他们内部也应该存在着一个默认拉伸系数值0. stretch为 0 的微件, 将把最大多余空间让给stretch 为正整数的微件. 如果有多个stretch 为正整数的微件, 他们的多余空间的占有率由通过数字的比例来确定的.
setCentralWidget(m_tableSplitter); //没有此代码,看不到放到splitter上的widget