QT开发之deigner+汉字显示等相关问题

最近QT4.3.5平台搭好后开始进行开发,根据项目的需求先做一些界面。

      其中遇到两个大问题:1、使用designer+在main.cpp中添加自己的控件的问题

                                    2、选择显示文本控件的问题

                                    3、汉字显示及设置字体的大小、粗体、颜色、背景色函数的选择

      解决方法:1、加载ui控件有两种方法:

                     (1)普通的加载方法:如我的main.cpp程序:

                       int main(int argc,char* argv[])
                     {
                       QApplication app(argc,argv);
                       Ui::Form ui;
                       QWidget *qwidget=new QWidget;
                       ui.setupUi(qwidget);
                      qwidget->show();
                      return app.exec();

                      } 即可实现!

                     (2)动态加载ui,用QUiloader,过程如下:

                          在.pro文件末尾添加CONFIG+=uitools;

                           main.cpp:#include<QFile>

                                             #include<QUiloader>

                                            QUiLoader loader;

                                             QFile file("test.ui");

                                             file.open(QFile::ReadOnly);

                                             QWidget *third=loader.load(&file);

                                             third->show();

                          注:动态加载Ui的好处就在于可以在设计的.ui文件上再增加自己的控件,如想加一个textEdit控件:

                                QTextEdit *textEdit=new QTextEdit(third);
                                textEdit->setGeometry(288,30,40,30);
                                textEdit->setText("<font color=red>abc</font>");     

                                就可以显示了!       

                   2、关于显示文本控件的选择:刚用QT对控件都不熟悉,QLabel可以显示文本,但是如果设置字体的话,它的函数

                                                              就不如textEdit的函数好用,而且textEdit关于设置文本的函数也比QLabel多一些!

                   3、汉字显示的问题:#include<QtCore/QTextCodec>

                         QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));

                         char *str="a真的";

                         textEdit->setText(QObject::tr(str));

                         或者text->setText(QObject::tr("真的"));

                    4、设置字体大小、粗体、斜体、颜色、背景的时候要注意:setFont可以设置,但是前提是没有用setStyleSheet函数

                        否则setFont不起作用,同时还可以用html脚步<font></font>这样设置。

                         StyleSheet方法:textEdit->setStyleSheet("font-size:18px;""background-color:black;"
                                                  "border-style:solid;""font-style:italic;""font-weight:bold;""color:white");

                         setFont方法:  QFont font;
                                                 font.setFamily("Bitstream Charter");
                                                 font.setPixelSize(16);
                                                 font.setBold(true);
                                                 font.setItalic(true);
                                                 textEdit->setFont(font);

                         html方法:textEdit->setText("<font color=red>abc</font>")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值