QT小结

链接sqlite3
LIBS += -L  C:\Users\NAJSWORD\Desktop\915_ui\915-ui -lsqlite3


chinese
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("system"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("system"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("system"));


picture
image.qrc:
<RCC>      
<qresource>
<file>images/new.png</file>
</qresource>
</RCC>
pro:RESOURCES =image.qrc
标题图片
title.rc:  IDI_ICON1   ICON   DISCARDABLE   "title.ico"
pro:RC_FILE= title.rc 


控制输入
QValidator * validator; //检验器,只允许输入数字
QRegExp regx("[0-9]+$"); //工号设置输入范围0~9
QRegExp regx2("[0-9a-zA-Z]+$"); //密码设置输入范围0~9或字母
validator = new QRegExpValidator(regx,nameline);
nameline->setValidator(validator );

gui
//窗口
this->setWindowTitle("计算器");  //标题
this->setWindowFlags(Qt::FramelessWindowHint);//去掉标题栏
this->resize(400,300); 
this->setFixedSize(250,210);
this->setWindowOpacity(0.7);//设置透明1-全体透明
font
->setFont(QFont("Times New Roman", 7))
->setAlignment(Qt::AlignRight) 
部件样式
->setStyleSheet("QPushButton/QMainWindow/QLabel/QLineEdit{         }")
(font)
font: bold italic large \"Times New Roman\";
font-size:25px;
color:rgb(55,100,255);
(背景)
color:red;
background:yellow
icon-size:20px 5px; 
background-image:url(images/1.jpg);
background-position:top;
(背景边框)
border:4px solid rgb(155,200,33);
border-radius:8px;   //圆弧角
border-image:write url(images/1.jpg); (image??)


绝对路径(this重要性)
->setGeometry(30,30,100,50)  
QLayout(嵌套)   QHBoxLayout QVBoxLayout QGridLayout
1. 中心布局  QWidget
void MainWindow::createcentral()
{
   QWidget *w = new QWidget(this);
    setCentralWidget(w);
}
2. 框体
QLineEdit  *line = new QLineEdit;
createhorizontalgroupbox();
QLabel *name=new QLabel("name");


3.    QGridLayout
void MainWindow::creategridlayout()
{
    grid=new QGridLayout; //布局标志grid
    for(int i=0;i<3;i++)
    {
        for(int j=0;j<3;j++)
        {
            buttons[j]=new QPushButton(tr("%1").arg(i*3+j+1));  //代替%1
            grid->addWidget(buttons[j],i,j,1,1);
        }
    }
    setLayout(grid); //布局标志grid
}
4.   QVBoxLayout
QVBoxLayout *vbox= new QVBoxLayout;
vbox->addWidget(line);
vbox->addLayout(grid); //加入网格布局
 setLayout(vbox);


5.     QHBoxLayout
QHBoxLayout *hbox=new QHBoxLayout;
    hbox->addWidget(name);
    hbox->addLayout(vbox); //加入垂直布局
   w->setLayout(hbox); //布局结束


QString
QString text=line->text()=button->text()&& text.=line text().
修改
.contains(" ")
.isEmpty()      //为空
.prepend(tr("-"))  //前追加
.apend()      //后追加  ??
.reverse()    //反转   ??
.remove(0,1) //移除最前符号
.chop(1) //移除最后字符
.clear() //清空
qstr=line->text()+QString::number(value)   //连接QString
类型转换
.toint() //转换为整形
.todouble()
QString::number(i) //转换为QString
qstr=tr("%1.").arg(0)   //传参
.toStdString().c_str()   //转换为String %s输出 或者 qdebug()<<qstr
&& 获取文本内容并转换
QString text=line->text()
double value=text.toDouble()
line->setText(text) //修改


QFrame QLabel
->setFrameStyle(QFrame:Panel|QFrame:Sunken)  //框架凸起 和阴影风格


Q****Edit
QLineEdit *line = new QLineEdit(this)  //qwidget下无this无法显示
->setMaxLength(9)
->setReadOnly(true)
->clear()   //QString操作
->setAlignment(Qt::AlignRight)
->setText()  
qstr=line->text()   //获取文本
->setText()
->setSelection(0,5)  
qstr=line->selectedText() //获取选择文本
QTextEdit
->setPlainText("")    
qstr=text->toPlainText()   //获取
&&
->setText(QString::number(memory))
->setText(line->text()+QString::number(value))
->setText(tr("%1.").arg(0))  
tr("str%1").arg(i)
->setText(text);QString text
QPlainTextEdit


QPushButton
QPushButton *p=new QPushButton("button",this)
->setEnabled(false)
->setText("button") 


QComboBox
->addItem (0,"30")
->insertitem(0,"images/1.jpg","30") //添加选项


QSpinbox
->setRange(1,10)


QTableWidget  表格
table1=new QTableWidget(5,6,this);//设置行列
->resize(600,200);
->setEditTriggers(QAbstractItemView::NoEditTriggers) //不可编辑
表头
QStringList header<<"主叫号码";  
->setHorizontalHeaderLabels(header);
填充选项
->setItem(0,0,new QTableWidgetItem("张强"))
->setItem(0,0,new QTableWidgetItem(QIcon("images/1.jpg"),""))
->setCellWidget(0,3,combobox)  
->rowCount()
->insertRow(num)
->removeRow(num-1)
,table_deta_suce->item(i,j)->text().toStdString().c_str() //获取文本值
         
QAction
newact=new QAction(QIcon(":/images/new.png"),"新建",this)
->setShortcuts(QKeySequence::New) //快捷键
->setStatusTip("新建一个文本")    //同步状态栏


QMenu
filemenu=this->menuBar()->addMenu("文件")  //主菜单
->addAction(newact)     //子菜单
->addSeparator()


QToolbar
filetoolbar=addToolBar("文件") //工具条
->addAction(newact)    //工具栏名


QStatusBar
statusBar()->showMessage("准备")   //显示值




消息框 QDialog
QMessageBox::warning(NULL,"warning","sure?",QMessageBox::Ok,QMessageBox::Abort);
QMessageBox::critica(NULL,"warning","sure?",QMessageBox::Ok,QMessageBox::Abort);
QMessageBox::information(this,"打印凭条","成功", QMessageBox::Ok);


进度条 QProgressDialog
void Widget::printping()
{
     QProgressDialog progressDlg("正在打印凭条", tr("取消"), 0, 100000, this);
     progressDlg.setWindowTitle(tr("购买电子卡"));
     progressDlg.setWindowModality(Qt::WindowModal);
     progressDlg.show();
     for(int i = 0; i < 100000; i++)
     {
         progressDlg.setValue(i);
         qApp->processEvents();
         if(progressDlg.wasCanceled())
         {
             break;
          }
      }
}


&&
QPushButton *click=qobject_cast<QPushButton *>(sender())
&& 按钮使能
bt1->setEnabled(false);
connect(bt2,SIGNAL(clicked()),this,SLOT(btn()));
void as::btn()
{
    bt1->setEnabled(true);
}
信号
SIGNAL(textChanged(QString))
valueChanged(int)


事件
paintEvent重绘事件
void Widget::paintEvent(QPaintEvent *)
{
    QPainter p(this);
    p.drawPixmap(0,0,this->width(),this->height(),QPixmap("1.jpg"));
}
resizeEvent
void Widget::resizeEvent(QResizeEvent *)
{
    butok->setGeometry(this->width()/4,this->height()/4,this->width()/4,this->height()/4);
}
mouseMoveEvent 鼠标跟随事件     mouseReleaseEvent mouseDoubleClickEvent
void Widget::mouseMoveEvent(QMouseEvent *event)
{
    QPoint p;
    p=event->pos();
    butok->setGeometry(p.x(),p.y(),butok->width(),butok->height());
}
keyPressEvent 控制输入
void Widget::keyPressEvent(QKeyEvent *event)
{
    if(event->key()==Qt::Key_Enter-1)
        qDebug("%d",event->key());
}


QGroupBox QDialogButtonBox
sure=new QPushButton("确定");  //无this
QString(QLatin1String(messa)) //避免malloc


Qt::Key_Escape ESC键
Qt::Key_Tab Tab键
Qt::Key_Backspace 回退键
Qt::Key_Enter 回车键
Qt::Key_Down 向下键
Qt::Key_Space 空格键
Qt::Key_F1 F1键
Qt::Key_Right 向右键

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值