关于Qt5 UI设计的一些小知识

 
(1) 获取textEdit中的值
 
QString str = ui->textedit->toPlainText(); // 这是普通文本
p=str.toInt();                                          //将从textEdit控件中获取的值转化为int型赋值给p
QString str = ui->textedit->toHtml(); // 这是富文本,即获取的是Html字符串

如果设置文本的话则对应的是:
ui->textedit->setPlainText("123");
ui->textedit->setHtml("<b>123</b>");  
 
(2)获取lineEdit中的值,同textEdit,label
 
QString str = ui->lineEdit->Text()
ui->lineEdit->setText(QString::number(level));                //显示单个数字
ui->lineEdit->setText("hello world");                              //  显示字符串helloworld
string str="hello";
ui->lineEdit->setText(str);                                          // 显示字符串
 
不使用ui获取值 (不推荐使用)
QLineEdit * pEdit;
QString txt = pEdit->text();
 
(3)QLabel 标签空间问题
 
 QLabel的边框设定:使用setFrameStyle()
如:label.setFrameStyle(QFrame::NoFrame);               // 无边框
或者使用函数setFrameShape()
如:label.setFrameShape(QFrame::NoFrame);
边框属性可查看QT帮助文件 enum QFrame::Shape
 
(4)关于win7下的关机语句  
 
      system("shutdown -s\"\"");
      shutdown -a 取消关机
  shutdown -s 关机
  shutdown -f 强行关闭应用程序
  shutdown-m \\计算机名 控制远程计算机
  shutdown -i 显示“远程关机”图形用户界面,但必须是Shutdown的第一个参数  
  shutdown -l 注销当前用户
  shutdown -r 关机并重启
  shutdown -s -t 时间 设置关机倒计时
  shutdown -h 休眠
 
(5)修改Dialog 窗口顶部的名称
 
Dialog dialog;
dialog.setWindowTitle("新的标题");   //填什么改什么
dialog.show();
 
(6)修改Dialog 窗口图标与应用程序的图标
 

首先准备个ICO图标,例如:app.ico

网上下到的图标文件一般都是png格式的,这里推荐个网站,可以将png 等其他图片格式转化为 ico。并且转化成的图标可以选择各种大小尺寸。

http://www.converticon.com/

 

1.通过qmake生成makefile实现过程:

a.找到一张图片.ico,名字改为app.ico;

b.创建一个新的文本文档.txt,内部添加  IDI_ICON1           ICON   DISCARDABLE   "app.ico",并将文件重命名为app.rc;

c.在app.pro文件最后加上RC_FILE = app.rc,重新生成之后,就修改成功了    //  注意是.rc文件,必须与.exe同目录


2.不用qmake生成makefile实现过程: 


前面两步骤一样,最后一步改为,将.rc文件加载至工程中,通过右键工程——添加——已存在文件,添加后右键.rc文件编译,重新生成可执行文件后就修改成功了

 

(7) Qt 窗口操作 (必须放在构造函数中) 例如在Dialog窗口操作,我们必须放在Dialog窗口里,变量初始化也一样 


setWindowFlags(QT::windowcloseButtonhint | Qt::Dialog);            //关闭其他按钮,作用于Dialog

setWindowFlags(QT::Framelesswindoswhint | Qt::Dialog);             //无边框,作用于Dialog    

setWindowFlags(windowFlags() | Qt::WindoMinimizeButtonHint);   //加入最小化按钮 

//同时禁止最大化和最小化按钮

Qt::WindowMinMaxButtonsHint

//也禁止关闭

w.setWindowFlags(w.windowFlags() &~ (Qt::WindowMinMaxButtonsHint | Qt::WindowCloseButtonHint));

Qt全屏显示函数        

1、window.showFullScreen()//此方法只对顶级窗口有效,对子窗口无效

Qt最大化显示函数         window.showMaximized()

Qt最小化显示函数         window.showMinimized()

Qt固定尺寸显示函数         window.resize(x,y)

获取屏幕宽度和高度

QApplication::desktop()->width()  ;

QApplication::desktop()->height() ;

 

(8) 窗口透明化(放入构造函数)

  1. Qpalette pal=palette();

       pal.setColor(QPalette::Background,QColor(0x00,0xff,0xff,0x00));

       setPalette(pal);  

  2  setStylesheet("border : 1px;backgrond:(0x00,0xff,0x00,0x00)");

 

(9) 定时器的使用 QTimer(构造函数启动)

QTimer *timer=new QTimer(this);

connect(timer,SIGNAL(timeout()),this,SLOT(timerupdate));   //timerupdate为自定义信号槽 定义为private slot:

timer->start(1000);                           //1000ms = 1s  

 

(10)QTime类获取时间

QTime current_time = QTime::currentTime();  //获取准确的时间,定义一个QTime类,对象为current_time 可调用hour()函数和minute函数

hour = current_time.hour();

minute = current_time.minute();

QDateTime time =QDateTime::currentDateTime();   //获取系统现在的时间

time.date().year();                                                //获取日期再年份

QString str = time.toString("yyyy-MM-dd hh:mm:ss dddd");  //设置显示格式  年-月-日 时:分:秒 星期X     将QDateTime类强行转化为QString类

ui->label->setText(str);

 

 

参考资料来自于百度,如需转载请注明出处

作者:Ten10



  

 

 

  



 

 
 
posted @ 2015-10-19 23:28 风铃翠 阅读(...) 评论(...) 编辑 收藏