Qt 学习笔记

Qt 学习笔记


http://www.tuicool.com/articles/ZFBZfm        QTreeView的使用
http://mobile.51cto.com/symbian-268700.htm    树形目录,浏览本地目录
http://blog.csdn.net/smb1987cs/article/details/8175400  Qt 字符串QString arg()用法总结


Layout->setAlignment(Qt::AlignTop);  布局顶部对齐


Qt Creator 使用:
Ctrl + 鼠标滚动     改变代码字体大小
水平布局
Ctrl + 鼠标依次选定部件(也可点击对象查看器里面的对象名称),再次Ctrl + H    
垂直布局
。。。。。。。。。。。,,,..。Ctrl + L 
选择主窗口mianwindows,可对整个窗口布局


   
右键部件--> Change rich text          改变字体属性
alt + shift + r                        预览


F4      信号与槽编辑模式,鼠标点击左键选中建立连接,单向/双向
F3      部件编辑模式




--------------
groupBox->setCheckable(true);    //支持开关
groupBox->setChecked(false);     //未被选中 
groupBox->setFlat(true);         //取消突出效果
tristateBox->setTristate(true);  //设置复选框为模糊、不确定状态


部件
QWidget 窗口类:     是所有用户界面对象的基类。通俗的来讲,Qt基本上所有的UI类都是由QWidget继承出来的,而QWidget继承于QObject.
QDialog        对话框
QTabWidget     选项卡
QLabel         标签(说明,图标)
QTextEdit      多行编辑器
QLineEdit      单行编辑器
QPushButton    按钮
QGroupBox      主框(类)
<a href="http://www.huiwen.com">汇文教育</a>  html标签
QTableWidget   表格
选择按钮
QCheckBox      复选框
QRadioButton   单选按钮   ------>继承于抽象类 QAbstractButton
QPushButton  


布局


addStretch();  分隔符
QHBoxLayout    水平布局horizontal
QVBoxLayout    垂直布局vertical
QCridLayout    二维网格布局
  调用形式: QGridLayout  *layout = new QGridLayout;
               layout->addWidget(widget,row,column,rowSpan,columnSpan);
               //若省略rowSpan,columnSpan时,该参数默认取1


视图
Item View     Item Widget    Widget继承于View


容器Container     用来容纳或放置其他的部件
Group Box
Scroll Area       带滚动条的窗口       
Tool Box          按钮可以展开,类似于qq好友分组列表
Tab Widget        带选项卡的窗口,每个选项卡里面可以添加自己的部件
Stacket Widget    带翻页,可以选择上一页或下一页
Frame
Widget            
MdiArea           显示多个窗口,类似于ps同时显示多张图片
Dock Widget       可以停靠的窗口,类似于编辑器的工作区  
Splitter
    splitterRight->setOpaqueResize(false);  //false 不实时更新,true 实时更新


Input Widget输入部件
Combo Box           下拉列表框,可以选择自己添加的某项内容
Font Combo Box      包含所有字体,在下拉列表框中选择
Line Edit , Text Edit
Plain Text Edit     纯文本,不能改变字体颜色  
Spin Box            数字选项
Double Spin Box     浮点数选项
Time Edit           时间
Date Edit           日期
Dial                旋转选项
Horizont...roll Bar 横向滑条
Vertical Scroll Bar 竖向滑条
Horizontal Slider   
Vertical Slider
Key sequence Edit




部件命名
infoLabel     可见标签
submitButton  确定按钮
cancelButton  取消按钮
browserButton 浏览按钮 
cmdLineEdit   命令行编辑器






代码
固定窗口大小:在构造函数中加入两行代码
Widget::Widget(QWidget* parent):
QWidget(parent),
ui(new Ui::Widget)
{
    ui->setupUi(this);
    //添加以下两行
    this->setMaximumSize(393,171); //最大窗口
    this->setMinimumSize(393,171); //最小窗口
}


信号与槽
1.valueChanged(int)   ----->  setValue(int)   一个值改变,另一个同步改变
2.手动为按钮添加槽函数:
  a.设置按钮的对象名称
  如:setTitleButton
  b.在头文件的类中添加slot
    ...
    class MainWindow:public QMainWindow
    {    Q_OBJECT
      public:
         ...
      private:
         ...
      private slots:  //添加slot
         void changeWindowTitleSlot();
    };
    #endif
  c.在.cpp文件中编写槽函数,将信号与槽建立连接
    方法(1):
    在mainwindow.cpp中:
    ...
    ...ui(new Ui::MainWindow)
    {
       ui->setupUi(this);
       //建立连接
       //QObject::connect(sender,SIGNAL(what),receiver,SLOT(dowhat()));
       QObject::connect(ui->setTitleButton,SIGNAL(clicked()),this,SLOT(changeWindowTitleSlot()));  QStackedLayout
    }
    MainWindow::~MainWindow()
    {  delete ui; }
    //写槽函数
    void MainWindow::changeWindowTitleSlot()
    {
       this->setWindowTitle("Hello world");
    }
    
    方法(2):图形下
    右键点击按钮-> go to slot -> clicked()->写槽函数->自动连接






点击按钮关闭整个窗口
方法1:
   F4进入信号与槽编辑模式,选中按钮,拉出类似接地线的形式,信号选clicked(),槽选close();
方法2:
   QObject::connect(ui->closeButton,SIGNAL(clicked()),qApp,SLOT(quit()));


字体 编码
1.设置适合本机环境的字体
  #include <QTextCodec>  //添加头文件 
  int main(int argc, char *argv[]) 
  {  QApplication a(argc, argv);      
   QTextCodec::setCodecForTr(QTextCodec::codecForLocale()); //设置编码          MainWindow w;     
     w.show();         
     return a.exec();
  }  
2.设置GB2312字体
  QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312"));
 使用该字体的字符串时,要用tr()函数,如:
  ui->pushButton->setText(tr("新窗口"));  


setEchoMode(QLineEdit:Password);   //设置当前的edit为密码格式********
QDir类的entryInfoList()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值