Skip to content

Latest commit

 

History

History
129 lines (103 loc) · 3.15 KB

笔记.md

File metadata and controls

129 lines (103 loc) · 3.15 KB

笔记

项目笔记本

pyqt

  • 用.ui文件生成对应的pyqt类:pyside6-uic mainwindow.ui > ui_mainwindow.py

Qt for C++

  • QString("text %1").arg(num)"text <num>"

  • 待确认

    // 配合翻译包使用,一般不需要这样用
    QString text1 = QObject::tr("hello");
    // 老式写法(不推荐)
    QString text2 = QString("hello");
    // 新式写法(建议写法)
    QString text3 = toString("hello");
  • QLabel与buddy

    • QLabel可以指定buddy,当用户激活标签的快捷键的时候,鼠标或键盘的焦点会转移到伙伴窗口上
    • 在文本的某个字符前添加前缀&即可定义快捷键
    • QLabel("&Age", this);:定义的快捷键为Alt+A
  • QMainWindow中layout设置失败的问题

  • 消息框

 if (!db.open()) {
        QMessageBox::critical(0, "Cannot open database1",
                              "Unable to establish a database connection.", QMessageBox::Cancel);
        return false;
    }

SQL

指令 操作
SELECT FROM [WHERE] 从数据库中提取数据
SELECT DISTINCT 提取不重复的数据
UPDATE 更新数据库中的数据
DELETE 从数据库中删除数据
INSERT INTO 向数据库中插入新数据
CREATE DATABASE 创建新数据库
ALTER DATABASE 修改数据库
CREATE TABLE 创建新表
ALTER TABLE 变更(改变)数据库表
DROP TABLE 删除表
CREATE INDEX 创建索引(搜索键)
DROP INDEX 删除索引
create table automobil (
  id int primary key,
  attribute varchar,
  type varchar,
  kind varchar,
  nation int,
  carnumber int,
  elevaltor int,
  distance int,
  oil int,
  temperature int)
  1. QSqlDatabase db = QSqlDatabase("QSQLITE")

     QTextCodec::setCodecForLocale
     // 设置中文显示
     (QTextCodec::codecForLocale());
     // 添加SQLite类型的数据库,驱动为QSQLITE
     db = QSqlDatabase::addDatabase("QSQLITE");
     // 主机名    
     db.setHostName("Vorrad-PC");
     // 唯一可用的数据库名
     db.setDatabaseName("qtDB.db");
     // 用户名   
     db.setUserName("Vorrad");
     // 密码          
     db.setPassword("12345678");
     // 打开连接                                
     db.open();
  2. QSqlQuery query

    1. QSqlQueryModel
    2. QSqlTableModel
    3. QSqlRelationTableModel
  3. bool success = query.exec("...")

  4. query.prepare("...") query.bindValue(i,<value>)

XML

  • 文档必须有根元素

  • 默认声明<?xml version="1.0" encoding="utf-8"?>(首行)

  • 大小写敏感

  • 属性值需要加引号

  • 实体引用

    实体引用 符号
    &lt; <
    &gt; >
    &amp; &
    &apos; '
    &quot; "
  • 注释<!-- This is a comment -->

  • 用换行符LF存储换行(\n

  • 不同于HTML,XML中应尽量避免使用属性

Debug

  • query = QSqlQuery(db);//要这么链接数据库才能用

  • 用多行字符串写SQL语句时,注意末尾空格!!!

  • 程序对数据库操作时,SQLStudio需要先断开和数据库的连接

  • db = QSqlDatabase::addDatabase("QSQLITE");可行 db.addDatabase("QSQLITE");无法加载驱动