QT QWidget 界面设置

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




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值