7.7 QT学习小结(一)

http://blog.chinaunix.net/uid-27717694-id-3792416.html

QT学习小结


学习使用QT有段时间了,初步先做下小结,留作备忘。


目录


1. 获取屏幕或工作区大小
2. 设置应用程序图标
3. 在程序中显示图片(QLabel)
4. 字体更改
5. 文本颜色更改
6. 日期与时间转换成QString


==========================================================================
1. 获取屏幕或工作区大小


#include <QDesktopWidget>


    //获取屏幕分辨率
    qDebug()<< "screen width:"<<QApplication::desktop()->width();
    qDebug()<< "screen height:"<<QApplication::desktop()->height();
    //下面方法也可以
    qDebug()<< "screen width:"<<qApp->desktop()->width();
    qDebug()<< "screen height:"<<qApp->desktop()->height();


    //获取客户使用区大小
    qDebug()<< "screen avaliabe width:"<<QApplication::desktop()->availableGeometry().width();
    qDebug()<< "screen avaliabe heigth:"<<QApplication::desktop()->availableGeometry().height();


    //获取应用程序矩形大小
    qDebug()<< "application avaliabe width:"<<QApplication::desktop()->screenGeometry().width();
    qDebug()<< "application avaliabe heigth:"<<QApplication::desktop()->screenGeometry().height();


<<返回目录
---------------------------------------------------------------------------------------------


2. 设置应用程序图标
a. 在资源文件(*.res)中添加图标文件
资源文件代码如下:


<RCC>
<qresource prefix="/" >
<file>bmp/logo.png</file>
</qresource>
</RCC>


b. 在setupUi函数中添加相应代码
代码如下:


//set icon
        QIcon icon;
        icon.addPixmap(QPixmap(QString::fromUtf8(":/bmp/logo.png")), QIcon::Normal, QIcon::Off);
        WndTest->setWindowIcon(icon);
        WndTest->setIconSize(QSize(256, 256));


<<返回目录
---------------------------------------------------------------------------------------------


3. 在程序中显示图片(QLabel)
a. 在资源文件(*.res)中添加图片文件(方法同2.a)
b. 在程序的相应位置中添加相应代码
代码如下:


QLabel *lLogo;


        lLogo = new QLabel();
        lLogo->setObjectName(QString::fromUtf8("lLogo"));
        lLogo->setGeometry(QRect(160, 110, 128, 128));
        lLogo->setPixmap(QPixmap(QString::fromUtf8(":/bmp/logo.png")));
        lLogo->setScaledContents(true);


<<返回目录
---------------------------------------------------------------------------------------------


4. 字体更改


QFont font;
            font.setPointSize(40);
            font.setBold(true);
            font.setWeight(75);
            QLabel *lfontnew = new QLabel();
            lfontnew->setFont(font);


<<返回目录
---------------------------------------------------------------------------------------------


5. 文本颜色更改


void WndTest::changeColor( QWidget *obj, QColor clr )
{
    QPalette *palette = new QPalette();
    palette->setColor(QPalette::Text,clr);
    obj->setPalette(*palette);
    delete palette;
}


调用:


changeColor( leid, Qt::blue );
//或
changeColor(leid,QColor::fromRgb(240,240,240));


<<返回目录
---------------------------------------------------------------------------------------------


6. 日期与时间转换成QString


QString date_str = QDate::currentDate().toString(QString("yyyyMMdd")); //"yyyyMMdd"为转换格式,该格式转换后日期如"20121205",还有更多格式,请查看帮助
QString time_str = QTime::currentTime().toString(QString("hhmmss")); //"hhmmss"为转换格式,该格式转换后时间如"080359",还有更多格式,请查看帮助


<<返回目录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当使用QT进行OCC 7.7的二次开发时,您可以结合QT的界面和OCC的功能来创建复杂的三维模型。以下是一个简单的示例,展示了如何在QT中使用OCC库进行三维模型的创建和显示。 首先,您需要在QT中创建一个窗口,并添加一个3D视图部件来显示OCC模型。然后,您可以使用OCC的类和方法来创建和操作模型。 ```cpp #include <QApplication> #include <QWidget> #include <QVBoxLayout> #include <AIS_InteractiveContext.hxx> #include <V3d_View.hxx> #include <TopoDS.hxx> #include <TopoDS_Shape.hxx> #include <BRepPrimAPI_MakeBox.hxx> #include <AIS_Shape.hxx> int main(int argc, char *argv[]) { // 初始化QT应用程序 QApplication app(argc, argv); // 创建一个窗口 QWidget window; window.setWindowTitle("OCC 7.7 Example"); QVBoxLayout *layout = new QVBoxLayout(&window); // 创建3D视图部件 Handle(AIS_InteractiveContext) context = new AIS_InteractiveContext; Handle(V3d_View) view = new V3d_View(context); layout->addWidget(view->getWidget()); // 创建一个立方体 BRepPrimAPI_MakeBox box(100, 100, 100); TopoDS_Shape shape = box.Shape(); // 将模型添加到交互式上下文中 Handle(AIS_Shape) aisShape = new AIS_Shape(shape); context->Display(aisShape, true); // 调整视图 view->FitAll(); // 显示窗口 window.show(); // 运行QT应用程序 return app.exec(); } ``` 在这个示例中,我们创建了一个QT窗口,并将3D视图部件添加到窗口中。然后,我们使用OCC库创建一个立方体,并将其添加到交互式上下文中。最后,我们调整视图以适应模型,并显示窗口。 请注意,这只是一个简单的示例,仅展示了如何在QT中使用OCC库进行三维模型的创建和显示。您可以根据自己的需求进一步扩展和修改代码。 希望这个示例能对您有所帮助!如果您有任何其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值