Qt 学习笔记
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()